dmenu ไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อมตาม. bash_profile ของฉันเมื่อเรียกใช้ Emacs


1

ฉันติดตาม ~ / .bash_profile

[[ -f ~/.bashrc ]] && . ~/.bashrc

และ ~ / .bashrc

### Check for shell interactivity.

if [[ $- != *i* ]] ; then
    return
fi

### Nyan-cat prompt.

PS1="\`if [ \$? = 0 ]; then echo \[\e[35m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\` \$ "

### PATH

export PATH=$PATH:$HOME/bin

ดังนั้นเมื่อฉันเรียกใช้ emacs จาก terminal ทั้งหมดตกลง เมื่อฉันเริ่มต้นด้วย dmenu (getenv "PATH") และ exec-path ตัวแปรไม่มี ~/bin ไดเรกทอรี

เมื่อฉันทำมันใน xfce ด้วย xfrun4 คำสั่งที่มีการกำหนดค่า bash เดียวกันตะเข็บทั้งหมดในการทำงานด้วย

ปัญหาของ dmenu คืออะไร


คำถามนี้ต้องการงานเล็กน้อย ... สับสนมาก อย่างไรก็ตามฉันจะดูเอกสาร dmenu เนื่องจากคุณสามารถเรียกใช้ emacs ได้ดีในรูปแบบอื่น บางที dmenu ไม่เรียกใช้ไฟล์ bash config ตามค่าเริ่มต้น?
— Peter Jenkins

หรืออาจโหลดการกำหนดค่าหนึ่งครั้ง (เมื่อเริ่มต้นสำหรับประเภท) และคุณปรับปรุงโปรไฟล์ของคุณในภายหลังหรือไม่
— gt6989b

ไม่การกำหนดค่าของฉันไม่เปลี่ยนแปลงหลังจากที่ฉันเรียกใช้เซสชัน dwm
— proofit404

คำตอบ:


1

ฉันแก้ไขปัญหาด้วยการแก้ไขของฉัน ~/.xsession ไฟล์. เพิ่มการติดตามก่อนเรียกใช้ dwm

export PATH=$PATH:$HOME/bin

ตอนนี้คุณสามารถลบบรรทัดเดียวกันจากคุณ .bashrc ไฟล์.


0

TERM = โง่ในเชลล์ emacs ดังนั้นจึงไม่เคยผ่านการทดสอบแบบโต้ตอบที่ด้านบนของ. bashrc .bash_profile ของคุณไม่ได้ทำงานใน emacs เช่นกัน

ลองย้ายสิ่งที่คุณคิดว่าปลอดภัยที่จะทำงานในโหมดที่ไม่ใช่แบบโต้ตอบ (คิดว่าตัวแปรสภาพแวดล้อมที่ไม่ส่งผลกระทบต่อ rsync, git, คำสั่ง ssh จากระยะไกล, งาน cron ฯลฯ ) ไปด้านบนการทดสอบสำหรับโหมดโต้ตอบที่ส่งคืนที่ ด้านบนของสคริปต์


1
M-x shell วิ่งได้ดี แต่ถ้าฉันโทร compile หรือ comint คำสั่งจากนั้นสภาพแวดล้อมไม่ทำงาน ~/bin ไดเรกทอรี
— proofit404
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.