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.