Alt + F2 (Jalankan Aplikasi) tidak berfungsi untuk perintah khusus

12

Untuk mempercepat pengembangan Android, saya telah mengedit saya ~/.bashrcuntuk menambahkan beberapa jalur ke PATH:

export PATH=${PATH}:/opt/android-sdk/tools:/opt/android-sdk/platform-tools

Ini berfungsi dengan baik dari baris perintah (saya bisa mengetik androiddan, di mana pun saya berada, Android SDK dan AVD Manager akan mulai dengan baik.

Namun, jika saya mencoba untuk mengetik androiddalam Alt+F2dialog (Run Application), memberikan error berikut:

Tidak dapat membuka lokasi 'file: /// home / felix / android'

Kesalahan menyatakan file '/ home / felix / android': Tidak ada file atau direktori tersebut

Mengapa demikian? Apa PATHyang digunakan dialog Aplikasi Jalankan?

Felix
sumber

Jawaban:

11

Saya menganggap bashrcitu tidak dibaca oleh Gnome, dan mengapa harus, karena itu adalah file konfigurasi untuk bash.

Saya mendefinisikan jalur saya di ~/.profile. File ini pasti dibaca oleh lingkungan Gnome dan XFCE dan juga harus dilakukan oleh orang lain. (Tapi itu hanya dibaca saat login, jadi Anda harus keluar dan kembali agar perubahan diterapkan!)

Carsten Thiel
sumber
Saya memindahkan PATH=pernyataan ke ~/.profiledan berfungsi baik di Alt + F2 dan terminal. Terima kasih.
Felix
Dalam kasus saya, saya tidak tahu bagaimana membuat sesi X untuk memulai dengan shell login sehingga akan membaca ~/.profile, jadi saya harus mengubah / bin / sh untuk menunjuk ke / bin / dash
elias
1
Hei, ini Gnome 3.30.1 berbicara, dan pengaturan PATH ~/.profiletidak berfungsi lagi. Apakah ada pembaruan tentang ini?
iago-lito
2

~/.bashrcdisertakan ~/.profilesecara default. The ~/bindirektori ditambahkan ke PATHsecara default juga. Buat ~/bindirektori dan tambahkan sym-link ( ln -s) ke aplikasi yang ingin Anda gunakan, atau ubah ~/.bashrc.

Konten default dari file yang disebutkan dapat ditemukan dalam /etc/skel- digunakan saat membuat akun baru dan direktori home mereka.

Raphael Bossek
sumber
1
Ya, jika .profilesedang dieksekusi oleh bash! Pemeriksaan bersyarat untuk $BASH_VERSIONyang didefinisikan, yang tidak akan dilakukan Gnome. Dan omong-omong, menghapus kondisi akan menyebabkan masalah dengan beberapa lingkungan desktop, seperti LXDE.
Carsten Thiel
0

Saya memiliki masalah yang sama dengan Linux Mint (Cinnamon 2.8.8), dan tidak ada cara saya bisa membuatnya bekerja dengan perbaikan yang biasa (menggunakan a .profile, mengubah Xsessionshebang ke /bin/sh -l).

Masalahnya adalah itu /bin/sh, yang biasanya merupakan symlink untuk /bin/dashdibaca ~/.profilejika itu adalah shell login (yaitu, diberi -lopsi).

Anda dapat memeriksanya dengan strace:

$ strace -e open dash
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
$ ^D
+++ exited with 0 +++
$ strace -e open dash -l
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
open("/etc/profile", O_RDONLY)          = 3
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12260, si_status=0, si_utime=0, si_stime=0} ---
open("/etc/profile.d/Z97-byobu.sh", O_RDONLY) = 3
open("/etc/profile.d/bash_completion.sh", O_RDONLY) = 3
open("/etc/profile.d/vte.sh", O_RDONLY) = 3
open("/home/elias/.profile", O_RDONLY)  = 3
$ ^D
+++ exited with 0 +++

Saya tidak tahu skrip mana yang harus diubah (mencoba banyak dari mereka di bawah / etc / X11 dan / etc / mdm), tetapi tidak berhasil.

Jadi saya melempar handuk dan mengganti /bin/shke menunjuk ke /bin/bashbukan /bin/dashdan itu bekerja sekarang. :)

elias
sumber