i3 dmenu $ PATH'a göz atmıyor


13

Ben bir kabuk komut dosyası ~/.local/bin/test.shüzerinden çalıştırmak istiyorum dmenu. Eğer dmenukoşarsam $mod+Dve girdiye göz atarsam bulamazdım test.sh.

Yol ~/.local/binzaten $PATHiçindeki değişkenime ayarlandı~/.profile

$ echo $PATH
/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Ayrıca ~/.cache/dmenu_runi3'ü kaldırdım ve yeniden başlattım. Test komut dosyasını dmenu üzerinden başlatmak için ne yapabilirim?

Yanıtlar:


7

Silin ~/.cache/dmenu_runveya ~/dmenu_cachesahip olduğunuz şeye bağlı olarak tekrar oturum açın. Giriş yaptıktan sonra PATH'niz .profile'dan yeniden yüklendikten sonra, dmenu önbelleği $ PATH'dan yeniden oluşturmalıdır. dmenu kendi önbelleğini yenilemek konusunda kötü görünüyor ve bazen bunu yapmak zorunda kalıyor.

Ayrıca komut dosyası için yürütülebilir biti etkinleştirdiğinizden emin olun:

$ ls -l ~/.local/bin/test.sh
-rwxrwxrwx 1 user group 152 Jan 11 04:09 /home/user/.local/bin/test.sh

Maalesef, zaten ~/.cache/dmenu_runi3'ü kaldırdığımı ve yeniden başlattığımı belirtmeyi unuttum, ancak davranışını etkilemiyor dmenu.
Hölderlin

@ Hölderlin Yeniden giriş yapmanız ve yeniden yüklemek için tekrar giriş yapmanız önemlidir~/.profile
Kenneth B. Jensen

4

Ben de aynı problemi yaşadım.

Bu Arch Linux forum gönderisi sorunu açıklar:

~ / .Bashrc içinde $ PATH değeri ayarlamak WM / dmenu'nuzun bu ortamı devralacağını garanti etmez.
Sorulması gereken daha alakalı bir soru, "Nasıl giriş yaparsınız?" Genellikle ~ / .bash_profile veya ~ / .profile içinde dışa aktarılan env X uygulamalarınızda bulunur.
Normalde yaptığınız gibi dmenu_run'u başlatın, sonra dmenu'ya $ PATH'ın ne olduğunu görmek için
echo $PATH > /tmp/path
bir terminalde Then yazın cat /tmp/path.

Benim durumumda, benim sette $ PATH dizinleri ~/.profiledmenu tarafından alınmadı. Pencere yöneticim .xinitrc'den başlatılır export PATH=$PATH:/dir/of/interestve exec my_wmsatır sorunu düzeltmeden önce .xinitrc dosyasına bir ek ekler . Gerçi biraz tıknaz.

Daha önce de belirtildiği gibi, ~/.cache/dmenu_rundosyayı kaldırmak ve değişiklik yapıldıktan sonra tekrar giriş yapmak zorunda kaldım.


2
Bazı denemeler echo $SHELL > /tmp/shellde buna değer olabilir. Ben mayın kullandığını düşündüm bashama zshfarklı yapılandırma dosyalarını kontrol böylece kullanılan çıkıyor . Ayrıca koymak xinitrcve i3yapılandırma çalıştı ama hiçbiri çalıştı - ama / etc / zprofile yaptı! Yerel ~ / .zshrc yeterli değildi. /etc/profilehem de çalışabilir zshve bash.
miyalys

0

Tam algoritmayı gönderiyorum:

  1. Env vars'ı yerleştirin ~/.profileveya ~/.xprofile(Varsa oluştur), değil~/.bashrc
  2. rm -f ~/.cache/dmenu_run
  3. Oturumu kapatın ve oturum açın

Env vars hata ayıklamak için şunu yazın:

  1. Dmenu dilinde: echo $PATH > /tmp/path
  2. Terminalde: cat /tmp/path
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.