ฉันได้พบจริงสำหรับผู้ที่ไม่ต้องการรีสตาร์ทกล่องอย่างเต็มที่เว้นแต่จะจำเป็นอย่างยิ่งต่อไปนี้ ...
คุณไม่จำเป็นต้องรีสตาร์ทเครื่องทั้งหมดเพื่อให้การเปลี่ยนแปลง/etc/profile
มีผล สิ่งที่คุณต้องมีก็คือให้ XWindows Desktop GUI ของคุณเริ่มต้นใหม่เพื่อให้สามารถอ่านการกำหนดค่าได้อีกครั้ง (ตามที่ต้องการหากเริ่มต้นโดยเป็นส่วนหนึ่งของการรีสตาร์ททั้งระบบ)
สำหรับฉันฉันใช้ xUbuntu ซึ่งใช้ LightDM แต่คุณสามารถย่อยสิ่งที่เรียกได้ว่าปฏิบัติการบนเดสก์ท็อปปัจจุบันของคุณ
ก่อนอื่นคุณไม่สามารถใช้เทอร์มินัลอีมูเลเตอร์จากภายในเดสก์ท็อป GUI เพื่อทำสิ่งนี้ (อย่างน้อยก็ไม่ใช่กับ LightDM) คุณต้องใช้ SSH หรือคอนโซลรอง (ถ้าคุณกด Ctrl + Alt แล้วกดปุ่ม F หรือปุ่มตัวเลข คุณควรถอยห่างจากล็อกอินหรือหน้าจอเดสก์ท็อปกราฟิกของคุณไปที่หน้าต่างเทอร์มินัลธรรมดา) ฉันยังแนะนำให้คุณปิดสิ่งเดสก์ท็อประยะไกลเช่น VNC ถ้าคุณใช้ SSH (เห็นได้ชัดว่า SSH สามารถเชื่อมต่อคุณได้เพียงแค่ไม่ต้องการให้หน้าต่าง VNC เปิดทำการสำรวจความคิดเห็นที่ 0 ในขณะที่พยายามรีสตาร์ท มันจะรอให้คุณยกเลิกเซสชัน VNC)
ฉันทำสิ่งนี้ตลอดเวลากับ SSH และมันเป็นเครื่องช่วยชีวิตที่ยิ่งใหญ่โดยเฉพาะอย่างยิ่งเมื่อคุณไม่ได้ใช้เครื่องของคุณและไม่รู้สึกอยากรอการรีสตาร์ทเต็มรูปแบบและเชื่อมต่อใหม่ :-D
ตอนนี้ส่วนที่ง่ายครั้งเดียวในเทอร์มินัล "รอง" หรือปัญหา SSH:
(ใช่สิ่งนี้จะฆ่าเซสชันปัจจุบันของคุณให้แน่ใจว่าคุณไม่รังเกียจบันทึกเอกสารหรืองานที่เปิดอยู่)
sudo service lightdm restart
รอสักครู่ขณะที่มันฆ่าเดสก์ท็อปแล้วเริ่มต้นอีกครั้ง (อาจใช้เวลาสักครู่ในขณะที่สิ่งต่าง ๆ หยุดทำงานและดำเนินการอีกครั้งเมื่อเริ่มต้น)
นั่นคือตอนนี้เมื่อคุณกลับไปที่คอนโซล 0 หรือคุณไปใช้ VNC เพื่อเชื่อมต่ออีกครั้งคุณจะได้รับการต้อนรับจากหน้าจอล็อกอินและการเข้าสู่ระบบตามปกติและถ้าคุณเปิดเทอร์มินัลอีมูเลเตอร์และออกคำสั่งของคุณ ไม่มีปัญหาเพราะทุกอย่างถูกจัดเตรียมใหม่เหมือนคุณทำการรีสตาร์ทเครื่องอย่างสมบูรณ์
เพียงจำไว้ว่าถ้าคุณออกsudo service lightdm restart
[หรือstop
, start
สิ่ง] จากภายในสภาพแวดล้อมเดสก์ทอปของตัวเองโดยใช้จำลอง terminal คำสั่งก็จะแขวนมีและไม่มีอะไรจะดูเหมือนจะเกิดขึ้น นี่เป็นเพราะคุณกำลังใช้คอนโซลนั้น (จอแสดงผล aka) 0 ดังนั้นจึงไม่สามารถลงและกลับมาได้อย่างเต็มที่เนื่องจากกำลังรอให้เดสก์ท็อปไม่สามารถใช้งานได้ก่อนที่จะรันคำสั่ง
Last Note: ฉันไม่ได้พยายามที่จะรีสตาร์ตสภาพแวดล้อมจากภายในเดสก์ท็อปในเทอร์มินัลอีมูเลเตอร์แล้วเปลี่ยนไปใช้คอนโซลอื่นที่อาจรีสตาร์ท แต่ถ้าคุณกำลังจะเปลี่ยนคอนโซลอยู่แล้ว จากที่นั่นควรจะเป็นยังไง?
/etc/profile
(และทำให้. d's) ขอบคุณสำหรับคำอธิบาย - ดูเหมือนว่าสิ่งนี้ต้องมีการติดตามด้วย rvm folk