ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมสำหรับการล็อกอินแบบกราฟิกบน linux ได้อย่างไร?


15

ฉันกำลังมองหาวิธีการตั้งค่าตัวแปรสภาพแวดล้อมโดยพลการสำหรับการเข้าสู่ระบบกราฟิกของฉันบนลินุกซ์ ฉันไม่ได้พูดถึงการเริ่มต้นเทอร์มินัลและการส่งออกตัวแปรสภาพแวดล้อมภายในเทอร์มินัลเนื่องจากตัวแปรเหล่านั้นมีอยู่ภายในเทอร์มินัลนั้นเท่านั้น ฉันต้องการทราบวิธีการตั้งค่าตัวแปรสภาพแวดล้อมที่จะใช้กับโปรแกรมทั้งหมดที่เริ่มต้นในเซสชันกราฟิกของฉัน

กล่าวอีกนัยหนึ่งเทียบเท่า Xorg ~/.bash_loginคืออะไร

คำตอบ:


10

คุณสามารถใส่พวกเขาได้ตลอดเวลา.profileดังนั้นพวกเขาจึงควรสมัครเข้าสู่ระบบใด ๆ

ปัญหาที่เกิดขึ้น แต่ถ้า.bash_loginมีอยู่: .profileในกรณีที่ทุบตีจะไม่อ่าน

หากคุณต้องการให้ตัวแปรของคุณ.profileใช้ทั้งใน bash และสำหรับการเข้าสู่ระบบอื่น ๆ อย่าใช้.bash_login! ใส่ตัวแปรเฉพาะลงใน bash .bashrcแทน

หรือหรือรวม.profileจาก.bash_login


ขอบคุณ.profileทำงาน
Ryan C. Thompson

1
นอกจากนี้. profile ยังดีมากเพราะฉันสามารถใส่รหัสทุบตีที่ฉันต้องการได้ ดังนั้นฉันจึงเพิ่มตัวแปรสภาพแวดล้อมที่มีอยู่และทำสิ่งอื่นทั้งหมด
Ryan C. Thompson

1
มันดูเหมือนว่าสำหรับ KDE คุณจะต้องใส่ในและจบมันด้วย~/.kde/env/ .shดูstartkdemanpage
Ryan C. Thompson

2
อันที่จริงดูเหมือนว่าซับซ้อนกว่าเล็กน้อย ขึ้นอยู่กับการกระจายตัวเลือกของคุณสภาพแวดล้อมเดสก์ท็อปและแม้แต่ล็อกอินเชลล์ของคุณ สำหรับ Gnome บน Ubuntu 10.04 คุณต้องใส่สคริปต์การตั้งค่า~/.gnomercตามที่แสดงใน. /etc/X11/Xsession.d/55gnome-session_gnomercKDE อ่านสคริปต์โปรไฟล์สำหรับเชลล์ใดก็ตามที่เป็นเชลล์ล็อกอินของคุณ ถ้าSHELL=bashมันอ่าน~/.profileแล้ว ถ้าSHELL=zshมันอ่าน~/.zprofileแล้ว ฉันไม่รู้ว่ามันจะทำอะไรให้เปลือกหอยอื่น
Ryan C. Thompson

4

ฉัน.profileไม่มากกว่าตัวแปรสภาพแวดล้อมเพียงชุดดังนั้นผมจึงได้แยกออกจากงานการตั้งค่าสภาพแวดล้อมให้เป็น.setenvไฟล์ที่มีเพียงชุดสิ่งแวดล้อม เพื่อให้มันตั้งสภาพแวดล้อมสำหรับ X11 บน Debian ฉันได้เพิ่ม.xsessionrcในบ้านของฉันด้วย:

. ~/.setenv

ไฟล์ที่เป็นสาเหตุที่จะมาเป็น.xsessionrc/etc/X11/Xsession.d/40x11-common_xsessionrc

การใช้ไฟล์ที่ทุบตีใช้เพื่อตั้งค่าสภาพแวดล้อมไม่ได้ทำในสิ่งที่ฉันต้องการ แน่นอนถ้าฉันเริ่ม bash shell ใน X11 ฉันจะได้รับสภาพแวดล้อมที่ฉันต้องการ อย่างไรก็ตามฉันต้องมีการตั้งค่า PATH เพื่อให้สภาพแวดล้อมเดสก์ท็อปของฉันจะเรียกใช้ซอฟต์แวร์ที่ฉันต้องการ ตัวอย่างเช่นฉันมักจะใช้ Firefox รุ่นที่กำหนดเองติดตั้งนอกเส้นทางปกติ ฉันต้องการให้สภาพแวดล้อมเดสก์ท็อปของฉันเริ่มรุ่นที่เหมาะสมแทนที่จะใช้ทุกอย่างที่สามารถหาได้บนเส้นทางเริ่มต้น ในการดำเนินการนี้จะต้องตั้งค่า PATH ก่อนที่สภาพแวดล้อมเดสก์ท็อปจะเริ่มขึ้น


0

Xorg ไม่มีตัวตนเพราะมันไม่ได้เริ่มโปรแกรมของคุณ - มันจะเป็นอะไรก็ตามที่ตัวจัดการการแสดงผล (gdm, xdm, xinit, startx, ฯลฯ ) หรือตัวจัดการเซสชัน (gnome-session, KDE, ฯลฯ ) ที่คุณใช้ เนื่องจากสิ่งเหล่านี้เป็นรายการหลักของกระบวนการเดสก์ท็อปของคุณ น่าเสียดายที่มีความหลากหลายของสิ่งเหล่านี้แต่ละตัวมีสคริปต์เริ่มต้น / dotfiles ที่แตกต่างกันดังนั้นจึงไม่มีคำตอบที่เหมาะกับทุกขนาด (ภายใต้โมเดลไคลเอนต์ / เซิร์ฟเวอร์ของ X เซิร์ฟเวอร์ X อาจไม่ได้อยู่ในเครื่องเดียวกับไคลเอนต์และมันมักจะทำงานเป็น root แทนที่จะเป็นคุณดังนั้นจึงเป็นสถานที่ที่ไม่ถูกต้องสำหรับการตั้งค่าเช่นตัวแปรสภาพแวดล้อม)


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