เมื่อลงชื่อเข้าใช้ Mac Lion ของฉันจากระยะไกลผ่านทาง ssh
ฉันไม่ได้รับเหมือนกัน PATH
ตัวแปรเมื่อฉันเปิดเชลล์ภายใน: เชลล์โลคัลสืบทอดสภาพแวดล้อมตามที่คาดไว้ launchd
และดังนั้นจึงมีค่าเส้นทางที่ฉันตั้งไว้ /etc/launchd.conf
.
ด้วยเปลือกระยะไกลฉันรู้สึกประหลาดใจ: เมื่อฉันเปิดเปลือกผ่าน ssh
มันทำ ไม่ สืบทอดตัวแปรสภาพแวดล้อมที่ตั้งค่า /etc/launchd.conf
แม้ว่าที่เกี่ยวข้อง ssh
กระบวนการทั้งหมดมี launchd
ในฐานะผู้ปกครอง ทำไม???
ตัดจาก ps -ef
เอาท์พุทแสดง:
UID PID PPID C STIME TTY TIME CMD
0 1 0 0 Mon01PM ?? 9:07.07 /sbin/launchd
.
.
.
501 150 1 0 Mon01PM ?? 0:17.99 /sbin/launchd
.
.
.
501 39994 150 0 Thu11AM ?? 0:00.72 /usr/bin/ssh-agent -l
.
.
.
0 74002 1 0 2:08PM ?? 0:00.05 /usr/sbin/sshd -i
501 74005 74002 0 2:08PM ?? 0:00.00 /usr/sbin/sshd -i
501 74000 9844 0 2:08PM ttys000 0:00.02 ssh bridge@bridgethegap.local
ฉันสามารถแก้ไขปัญหาได้โดยการตั้งค่า PATH
เช่น. ใน .bashrc
แต่ฉันกำลังค้นหาวิธีที่จะให้เหมือนกัน PATH
ไปยัง ทั้งหมด แอปพลิเคชั่นเปิดตัวภายใต้ Mountain Lion (ดู ใน Mountain Lion ฉันจะตั้งค่าตัวแปรสภาพแวดล้อม PATH ได้อย่างไร ... )
ดังนั้นคำถามของฉันคือ: ทำไม remote shells ผ่าน ssh จึงไม่สืบทอดสภาพแวดล้อมของ launchd?