ฉันจะป้องกันการล็อกอินระยะไกลของ ssh ไม่ให้ทำลาย dbus ได้อย่างไร


10

ฉันใช้ openSUSE 11.3 ในเวิร์กสเตชันที่ทำงานภายใต้ KDE ฉันไม่สามารถเข้าถึงรูทได้ tcshเปลือกเริ่มต้นได้รับการตั้งค่าให้ เมื่อฉันเข้าสู่ระบบที่เวิร์กสเตชันของฉันและเข้าสู่ระยะไกลจาก MacBook ที่ใช้ OS X 10.6 โดยใช้sshดังนี้:

ssh -X -C user@workstation.edu

ทุกอย่างทำงานได้ดี อย่างไรก็ตามเมื่อฉันทำเสร็จแล้วฉันจะได้รับข้อผิดพลาด DBUS ในเซสชันเวิร์กสเตชันของฉันเมื่อใดก็ตามที่ฉันพยายามเปิดใช้งานสิ่งที่มี GUI รวมถึง แต่น่าเสียดายที่กล่องโต้ตอบออกจากระบบจากแผงแถบงาน ฉันเริ่มเบื่อstartkdeกับการออกจากระบบในสถานการณ์เหล่านี้

ออนไลน์ฉันได้พบคำแนะนำมากมายสำหรับการเชื่อมต่อกับเซสชัน dbus ที่มีอยู่โดยใช้ ssh แต่ฉันต้องการทำสิ่งที่ตรงกันข้ามให้ออกจากเซสชัน dbus ที่มีอยู่เดิมโดยไม่แตะต้องโดยเซสชันล็อกอินระยะไกล ssh

ถ้าฉันทำ

ssh -X -C user@workstation.edu dbus-launch konsole

ใช้งานได้ดังนั้นจึงเป็นเพียงเชลล์การเข้าสู่ระบบแบบโต้ตอบที่ทำลาย dbus ฉันจะแก้ไขได้~/.cshrcอย่างไร เก็บไว้ในใจว่าผมไม่ได้มีสิทธิ์ในการแก้ไข/etc/cshrc, /etc/loginฯลฯ

ฉันสามารถแสดงรายการเนื้อหาของไฟล์เหล่านี้ได้ถ้าจำเป็น

ปรับปรุง:

นี่คือไฟล์ tar ขนาดใหญ่พร้อมสคริปต์ทั้งหมดที่ฉันสามารถหาได้:

http://dl.dropbox.com/u/17203983/cshrc.tgz


ใช่กรุณาโพสต์เนื้อหาของไฟล์เริ่มต้นที่สร้างความแตกต่าง นอกจากนี้โปรดอธิบายอย่างแม่นยำว่าคำสั่งใดแบ่งเซสชันท้องถิ่น (มันทำงานdbus-launch konsoleที่แบ่งเซสชันท้องถิ่นหรือไม่หรือเพียงเข้าสู่ระบบการโต้ตอบ ssh ที่คุณกดexitทันที?)
Gilles 'หยุดชั่วร้าย'

@Gilles อืมฉันพยายามแก้ไขคำถามด้วยเนื้อหาของไฟล์ แต่มีอักขระมากเกินไป ฉันจะค้นหาวิธีและตำแหน่งที่ฉันสามารถอัปโหลดได้ ในขณะเดียวกัน dbus-launch konsole จะไม่ทำลายเซสชันโลคัลในขณะที่การล็อกอิน ssh แบบโต้ตอบจากบรรทัดคำสั่งตามด้วยการออกทันทีจะ ในความเป็นจริงแม้แต่การทำ rsync ก็เป็นการทำลาย dbus (สำหรับฉันดูเหมือนว่า rsync จะเรียกใช้สคริปต์การเข้าสู่ระบบเชลล์โดยค่าเริ่มต้น แต่ไม่เป็นเช่นนั้น)
user1079118

ลองpastebin.comเพื่อหาไฟล์ขนาดใหญ่
Gilles 'หยุดความชั่วร้าย'

คำตอบ:


1

เซสชั่น dbus จริง ๆ แล้วเป็นต่อเครื่องและต่อการแสดง X

เมื่อคุณทำเซสชัน SSH ระยะไกลคุณจะใช้จอแสดงผล X11 อื่น (โดยทั่วไปคือ localhost: 10)

ถ้าคุณฆ่า dbus ทั้งหมดและเปิดใช้งานในเซสชัน SSH มันใช้งานได้ ... สำหรับเซสชัน SSH แต่เห็นได้ชัดว่ามันแบ่งช่วง dbus อื่น ๆ ในเครื่อง

สิ่งที่จำเป็นคือการตรวจสอบว่ามีเซสชันสำหรับเครื่อง + จอแสดงผลอยู่แล้วถ้าใช่ใช้ถ้าไม่เปิดตัว dbus ใหม่สำหรับชุดค่าผสมนั้นและแจ้งให้เซสชันทราบเกี่ยวกับเรื่องนี้

ดูhttps://unix.stackexchange.com/a/188877/32769 สำหรับบล็อก bash ที่คุณสามารถใส่ในไฟล์ $ HOME / .bash_profile เพื่อทำการทดสอบและทำสิ่งที่ถูกต้อง

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