การเปลี่ยน / etc / environment ไม่ส่งผลต่อตัวแปรสภาพแวดล้อมของฉัน


10

ฉันพยายามที่จะติดตั้งระบบผู้เชี่ยวชาญออยเลอร์ต่อไปนี้คำแนะนำเหล่านี้ ในการเพิ่มตัวแปรสภาพแวดล้อมฉันแก้ไขของฉัน/etc/environmentให้เป็นดังนี้:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

แต่เมื่อฉันใช้printenv PATHฉันไม่เห็นไดเรกทอรีใหม่ที่เพิ่มในเส้นทางของฉัน

ฉันทำอะไรผิดที่นี่


ลิงก์นั้นไม่ทำงานในขณะนี้ (SourceForge หยุดทำงาน) แต่คุณสามารถระบุได้ว่าคุณต้องการตัวแปรสภาพแวดล้อมทั้งระบบหรือไม่? เนื่องจากเป็นแอปพลิเคชันนี่อาจเป็นกรณีและดังนั้นคำตอบมากมายด้านล่างจึงผิด
Michael Scheper

คำตอบ:


8

ฉันไม่รู้ว่าทำไม PATH ไม่เปลี่ยน (หลังจาก relogin) แต่

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

ช่องว่างเหล่านั้นทำให้ EYE_HOME ถูกตั้งค่า

ควรสังเกตว่า/etc/environmentไม่ใช่ไฟล์สคริปต์ แต่เป็นไฟล์การกำหนดชนิดที่ PAM อ่าน พื้นที่ดังกล่าว OTOH ไม่ได้รับอนุญาตในแฟ้มสคริปต์เหมือน/etc/profileและ~/.profileทั้ง

หากคุณใช้ไฟล์สคริปต์คุณต้องส่งออกตัวแปรตามที่แสดงในคำตอบของ Avinash Raj

โปรดทราบว่าในขณะที่ใช้~/.bashrcงานได้หากคุณเริ่มโปรแกรมจากหน้าต่างเทอร์มินัลอาจไม่ทำงานหากคุณเริ่มต้นโปรแกรมจากสภาพแวดล้อมแบบกราฟิกเนื่องจากโปรแกรมจัดการแสดงผลไม่ได้ให้มา


@ gunnar-hijalmarsson --- ถูกต้อง ความจริงที่ว่าตัวจัดการการแสดงผลไม่ได้เริ่มต้นจากเปลือกของฉันกัดฉันหลายครั้ง ฉันได้โพสต์เคล็ดลับเพื่อดูตัวแปรที่ตั้งค่าไว้ใน DE: askubuntu.com/a/356973/16395
Rmano

เคล็ดลับที่ดี @Rmano! มีโอกาสใดที่คุณสามารถเพิ่มลงในhelp.ubuntu.com/community/EnvironmentVariables ?
Gunnar Hjalmarsson

ขอบคุณ - ฉันไม่เคยแก้ไขอย่างใดอย่างหนึ่งและฉันไม่รู้ว่าฉันมีสิทธิ์หรือไม่ ฉันจะตรวจสอบถ้าฉันมีเวลา แต่อย่างอื่นรู้สึกฟรีเพื่อคัดลอก / วางสิ่งที่คุณต้องการ --- หน้านั้นไม่ดีที่จะได้รับการปรับปรุง คำถามหนึ่ง: แหล่งที่มาของเครื่องมือจัดการการแสดงผลทั้งหมด (lightdm, gdm, kdm) ~/.profileถึงแม้ว่าเชลล์เริ่มต้นของฉันจะไม่ใช่bashแต่ตัวอย่างเช่นzsh?
Rmano

ตรวจสอบด้วยตัวเอง ผมใช้zsh; แอ็พพลิเคชันที่เรียกใช้โดย DE ดูตัวแปรที่ตั้งค่า~/.pam_environmentและ~/.profile(ไม่ใช่~/.zprofile) นี้เป็นสิ่งที่ดีและไม่ดี แต่ส่วนที่ไม่ดีจะแก้ไขได้โดยการเปลี่ยน.profileเพื่อให้แหล่งที่มาของฉันและ.zprofile .zshenvและฉันยืนยันว่าการใช้.pam_environmentไม่ดีจะมีการเขียนทับบางครั้ง (ไม่ควร แต่เป็น)
Rmano

@Rmano: ฉันรู้ว่า~/.profileมีที่มาจาก lightdm และ gdm; ไม่แน่ใจเกี่ยวกับ kdm
Gunnar Hjalmarsson

5
gedit ~/.bashrc

หลังจากนั้นเพิ่มบรรทัดด้านล่าง

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

บันทึกไฟล์และทำการบันทึก

source ~/.bashrc

1
นั่นจะเป็นตัวแปรของระบบหรือไม่
Moha อูฐผู้ทรงอำนาจ


1
@AvinashRaj: ตัวแปรนี้ไม่เพียง แต่จะเป็นแบบผู้ใช้เท่านั้น แต่จะไม่สามารถมองเห็นได้หากแอปพลิเคชันไม่ได้เริ่มต้นจากเทอร์มินัลบรรทัดคำสั่ง ... สภาพแวดล้อมแบบกราฟิกนั้นเริ่มต้นเองโดยไม่ใช้เชลล์ของผู้ใช้ ดู askubuntu.com/a/356973/16395
Rmano

0

คุณสามารถลองสองไฟล์เหล่านี้ด้วยสำหรับการกำหนดค่าทั่วทั้งระบบ:

  • /etc/profile
  • /etc/bashrc

สำหรับการกำหนดค่าแบบกว้างผู้ใช้:

  • $HOME/.profile
  • $HOME/.bashrc

เพียงเพิ่มตัวแปรตามที่คุณได้ทำ/etc/environmentไว้ แต่คุณจะต้องเข้าสู่ระบบและออกจากระบบ (หรือเรียกใช้โหลดที่เหมาะสม) อาจเป็นเพราะการเข้าสู่ระบบและออกจากระบบ/etc/environmentจะใช้งานได้ แต่ฉันไม่แน่ใจ


-1

คุณต้องการแก้ไขไฟล์. bashrc ในโฮมไดเร็กตอรี่ของคุณ

เมื่อคุณแก้ไขเส้นทางที่คุณควรรวม:$PATHไว้ในตอนท้ายดังนั้นคุณจะไม่แทนที่เส้นทางปัจจุบัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.