为了加快 Android 开发速度,我编辑了我的,~/.bashrc
添加了一些路径PATH
:
export PATH=${PATH}:/opt/android-sdk/tools:/opt/android-sdk/platform-tools
这在命令行上运行得很好(我只需输入android
,无论我在哪里,Android SDK 和 AVD 管理器都会正常启动。
android
但是,如果我尝试在对话框(运行应用程序)中输入内容Alt+F2,则会出现以下错误:
无法打开位置‘file:///home/felix/android’
错误声明文件‘/home/felix/android’:没有这样的文件或目录
这是为什么?PATH
“运行应用程序”对话框有什么用?
答案1
我认为bashrc
Gnome 无法读取,为什么它应该读取呢,因为它是的配置文件bash
。
我在 中定义路径~/.profile
。Gnome 和 XFCE 环境肯定会读取此文件,其他环境也应该会读取。(但它只在登录时读取,因此您必须注销并重新登录才能使更改生效!)
答案2
~/.bashrc
~/.profile
默认包含在内。目录也默认~/bin
添加到。创建目录并添加符号链接()到您要使用的应用程序,或者修改您的。PATH
~/bin
ln -s
~/.bashrc
所提及文件的默认内容可以在/etc/skel
--中找到,用于创建新帐户及其主目录。
答案3
我在使用 Linux Mint (Cinnamon 2.8.8) 时遇到了同样的问题,并且无法使用常规修复方法(使用.profile
,将Xsession
shebang 更改为/bin/sh -l
)使其正常工作。
问题是,如果它是一个登录 shell(即,给出了选项),它通常是读取的/bin/sh
符号链接。/bin/dash
~/.profile
-l
你可以用 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 +++
我不知道该更改哪个脚本(在 /etc/X11 和 /etc/mdm 下尝试了很多),但没有成功。
所以我放弃了,改为/bin/sh
指向/bin/bash
而不是/bin/dash
,现在它正在发挥作用。:)