Tôi gặp vấn đề tương tự với Linux Mint (Cinnamon 2.8.8) và không có cách nào tôi có thể làm cho nó hoạt động với các bản sửa lỗi thông thường (sử dụng một .profile
, thay đổi Xsession
shebang thành /bin/sh -l
).
Vấn đề là /bin/sh
, thường là một liên kết tượng trưng để /bin/dash
đọc ~/.profile
nếu đó là vỏ đăng nhập (nghĩa là được cung cấp -l
tùy chọn).
Bạn có thể kiểm tra xem với 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 +++
Tôi không thể tìm ra kịch bản nào cần thay đổi (đã thử một loạt chúng trong / etc / X11 và / etc / mdm), nhưng không gặp may.
Vì vậy, tôi đã ném chiếc khăn và thay đổi /bin/sh
để chỉ /bin/bash
thay vì /bin/dash
và nó đang hoạt động. :)
PATH=
câu lệnh sang~/.profile
và nó hoạt động cả trong Alt + F2 và một thiết bị đầu cuối. Cảm ơn.