ฉันสามารถรันคำสั่งเทอร์มินัลจาก ssh เพื่อเปิดเบราว์เซอร์บนเซิร์ฟเวอร์ X ได้หรือไม่


13

ฉันติดราสเบอร์รี่ pi กับจอแสดงผลแล้ว ฉันมี ssh'd จากเครื่องอื่นและฉันก็สงสัยว่าถ้าเป็นไปได้ที่จะเปิดหน้าต่างเบราว์เซอร์ผ่านepiphany http://example.comจากเซสชั่น ssh ของฉันและให้มันปรากฏบนหน้าจอ

คำตอบ:


25

สมมติว่าคุณเข้าสู่ระบบด้วยผู้ใช้เดียวกันกับที่ใช้งานจอแสดงผล X สิ่งนี้ค่อนข้างง่าย ก่อนอื่นคุณต้องรู้จักตัวระบุการแสดงผลก่อน หากมีเพียงหนึ่งอินสแตนซ์ที่ใช้งานอยู่อาจเป็น:0ไปได้ whoหากต้องการตรวจสอบการใช้งาน คุณจะเห็นผลลัพธ์รวมถึงสิ่งต่อไปนี้:

goldilocks   pts/5        2015-02-16 07:18 (:1)
goldilocks   pts/6        2015-02-16 07:18 (:1)
goldilocks   pts/7        2015-02-16 07:36 (:1)

ตัวบ่งชี้ที่แสดงอยู่ในวงเล็บในตอนท้ายในกรณี:1นี้ คุณต้องตั้งค่านั้นในสภาพแวดล้อมของเซสชัน ssh ของคุณ สำหรับเชลล์ส่วนใหญ่รวมถึง bash (ค่าเริ่มต้นบน raspbian):

export DISPLAY=:0

หรือ:1แล้วแต่กรณี ถึงตอนนี้เริ่มมีความศักดิ์สิทธิ์ที่นั่น:

epiphany http://example.com &

ภูมิหลังนี้มิฉะนั้นจะป้องกันและคุณจะไม่ได้รับกลับในพรอมต์&ssh


9

นอกเหนือจากคำตอบของ Goldilocksสำหรับ Epiphany คุณสามารถตั้งค่าการแสดงผลโดยใช้--displayตัวเลือก:

epiphany --display=:0 http://example.com &

… แต่วิธีนี้ใช้ได้กับ epiphany เท่านั้น!
BenRoe

ทำงานร่วมกับโครเมียมเบราว์เซอร์เช่นกัน
JDavis

0
ssh -o ForwardX11=yes pi@192.168.0.37

เปิด ssh ด้วยการส่งต่อพอร์ต X11 และคุณสามารถเรียกใช้คำสั่ง Xwindows บางคำสั่งจากเทอร์มินัล

ssh -o ForwardX11=yes <userName>@<your pi's hostname or ip address>

2
ฉันไม่คิดว่านี่เป็นคำตอบสำหรับคำถาม OP กำลังถามวิธีเริ่มแอปพลิเคชั่นบนจอแสดงผลระยะไกล (เช่นที่ต่อกับ pi) ผ่านsshจากเครื่องอื่น ส่ง X11 เป็นเรื่องเกี่ยวกับการใช้งานระยะไกล GUI ในท้องถิ่นการแสดงผล
goldilocks

ใช้ssh -X pi@192.168.0.37ถ้าคุณกำลังรีบ (และผมเห็นด้วยกับ @goldilocks: ดูเหมือนว่าเขาต้องการที่จะศักดิ์สิทธิ์จอแสดงผลบนจอแสดงผลระยะไกล)
MadMike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.