लिनक्स टकसाल (दालचीनी 2.8.8) के साथ मेरे पास एक ही मुद्दा था, और कोई तरीका नहीं था कि मैं इसे सामान्य सुधारों के साथ काम कर पाऊं (एक .profile
, बदलते Xsession
शेबंग का उपयोग करके /bin/sh -l
)।
मुद्दा यह है कि /bin/sh
, जो आमतौर पर एक लॉगिन शेल (यदि विकल्प दिया गया हो ) को /bin/dash
पढ़ने के लिए एक सिंबल है ।~/.profile
-l
आप इसे स्ट्रेस से देख सकते हैं:
$ 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 +++
मैं पता नहीं लगा सका कि कौन सी स्क्रिप्ट को बदलने की कोशिश की गई (/ / 11 / और / आदि / mdm के तहत उनमें से एक गुच्छा), लेकिन कोई किस्मत नहीं।
इसलिए मैं तौलिया फेंक दिया और बदल /bin/sh
करने के लिए बात करने के लिए /bin/bash
के बजाय /bin/dash
और अब यह काम कर रहा है। :)
PATH=
बयान को स्थानांतरित कर दिया~/.profile
और यह Alt + F2 और एक टर्मिनल दोनों में काम करता है। धन्यवाद।