วิธีการเริ่มซอฟต์แวร์ GUI บนพีซีระยะไกลผ่านทาง SSH


109

บางครั้งฉันต้องเริ่มเล่น XMBC media player หรือซอฟต์แวร์ GUI อื่นในพีซีของฉัน (Xubuntu PC ขนาดเล็กที่ใช้เป็น media center)

ฉันมักจะทำสิ่งนี้เริ่มต้นเซิร์ฟเวอร์ X11vnc บนพีซีระยะไกลผ่าน SSH และมากกว่าการเชื่อมต่อกับไคลเอนต์ Xvnc ไปยังเดสก์ทอป Xfce

มีวิธีการเริ่มซอฟต์แวร์ GUI บนพีซีระยะไกล Linux ผ่าน SSH หรือไม่?

ขอบคุณ!


สามารถยืนยันได้ว่าวิธีการในคำตอบที่เลือกนั้นใช้งานได้หากไคลเอนต์ระยะไกลเป็น Mac ทำงานกับ macOS Sierra ได้สำเร็จ
Benjamin R

คำตอบ:


136

ใช่. คุณเพียงแค่ต้องรันexport DISPLAY=:0(หรือสิ่งใดก็ตามที่มีการแสดงผลระยะไกลเป็นตัวเลข) ในเซสชัน ssh ของคุณและโปรแกรมที่รันจะทำงานบนจอแสดงผลระยะไกล ตัวอย่างรวดเร็ว:

oli@bert:~$ ssh tim
oli@tim:~$ export DISPLAY=:0
oli@tim:~$ firefox

Firefox กำลังtimแสดงผลบนหน้าจอ

อย่างไรก็ตามเมื่อคุณปิดเซสชัน ssh เวลาส่วนใหญ่ของแอปพลิเคชันระยะไกลจะปิด หากคุณต้องการตัดการเชื่อมต่อจาก ssh แต่ปล่อยให้แอปพลิเคชันทำงานอยู่คุณจะต้องเปิดใช้งานในลักษณะพิเศษโดยใช้บางอย่างเช่นหน้าจอ (ทำให้เซสชัน ssh ทำงานในพื้นหลัง) หรือnohupหรือวิธีอื่น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้มีคำถามอื่นเมื่อเร็ว ๆ นี้เกี่ยวกับมัน

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

ssh tim "DISPLAY=:0 nohup firefox"

มันบอกว่าNo DISPLAY: this may not be what you want.เมื่อฉันลอง (ฉันพยายามจาก abiword โดยวิธี. "
PyRulez

1
@PyRulez สังเกต "หรือสิ่งที่แสดงระยะไกลเป็นหมายเลข" ในบรรทัดแรก หากไม่ใช่เซิร์ฟเวอร์กราฟิกแรกอาจเป็น: 1 หรือสูงกว่า เรียกใช้wเพื่อดูว่าใครเข้าสู่ระบบและที่ ที่จะบอกคุณหมายเลขการแสดงผลด้วย
Oli

1
ฉันจะปิดมันได้อย่างไร
akabhirav

1
unset DISPLAY
Oli

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