我在Linux Mint(Cinnamon 2.8.8)上遇到了同样的问题,并且无法通过常规修复(使用.profile
,将Xsession
shebang 更改为/bin/sh -l
)来使它工作。
问题是,如果它是登录外壳程序(即给定的选项),/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
它现在正在工作。:)
PATH=
语句移到~/.profile
,它在Alt + F2和终端中都可以使用。谢谢。