การเริ่ม Firefox ในโฮสต์ระยะไกล (ผ่าน ssh) จะเปิดหน้าต่างใหม่ในเครื่อง: เกิดอะไรขึ้น


22

ฉันไม่เคยสังเกตเห็นพฤติกรรมนี้มาก่อนและสับสนเล็กน้อยกับสิ่งที่เกิดขึ้น ฉันมีสำเนาของ firefox ในเครื่องที่ใช้งานอยู่จากนั้น ssh ( ssh -X <url>) ลงในเซิร์ฟเวอร์ระยะไกลและเริ่มทำสำเนาที่นั่นเพื่อใช้การแสดงผลในเครื่อง เปลี่ยนเป็น Firefox ท้องถิ่นที่เพิ่งเปิดหน้าต่างใหม่ ฉันตรวจสอบกับps x|grep firefoxที่แน่นอนว่าไม่มีกระบวนการ Firefox เริ่มต้นบนเซิร์ฟเวอร์ระยะไกล

พฤติกรรมแปลก ๆ แบบเดียวกันนี้เกิดขึ้นในสิ่งที่ตรงกันข้าม: ถ้าฉันมี firefox จากระยะไกลกำลังทำงานและพยายามที่จะเริ่มการทำงานของโลคอลจากนั้นรีโมตอันใหม่จะเปิดหน้าต่างใหม่

ฉันใช้ Ubuntu 10.4 พร้อมติดตั้งใหม่เกือบทั้งหมด (ฉันเพิ่งได้รับคอมพิวเตอร์เครื่องนี้เมื่อบ่ายนี้) ฉันพยายามให้ firefoxes สองตัวทำงานพร้อมกันเพื่อให้ฉันสามารถเรียกใช้รายการปลั๊กอินเพื่อติดตั้งได้อย่างง่ายดาย

เกิดอะไรขึ้นที่นี่และฉันจะหลีกเลี่ยงไม่ให้เกิดขึ้นได้อย่างไร

คำตอบ:


9

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

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

การแก้ไขปัญหาจริง ๆ แล้วข้อเสนอแนะของ tante ในการตั้งค่า MOZ_NO_REMOTE เป็นวิธีแก้ปัญหาที่เหมาะสม


การทดสอบออกมาในเชิงบวกอย่างแน่นอน; ฉันไม่เคยรู้เลยว่ามีระบบการส่งข้อความใน X.
kasterma

21

มีปัญหากับ firefox มาระยะหนึ่งแล้วลองใช้ firefox เป็นfirefox -no-remote(การตั้งค่าMOZ_NO_REMOTE=1เป็นตัวแปรสภาพแวดล้อมควรทำงานเช่นกัน)

นี่คือข้อมูลเพิ่มเติม


1
ขอบคุณที่แก้ปัญหา ฉันยังพบข้อมูลบางอย่างใน mozillazine: kb.mozillazine.org/ .. สิ่งหนึ่งที่มันไม่สามารถแก้ไขได้คือความสับสนของฉัน: ฉันใช้คอมพิวเตอร์ A ฉัน ssh ไปยังคอมพิวเตอร์ B. ในคอมพิวเตอร์ BI เริ่ม Firefox ใหม่เพื่อใช้จอแสดงผล บนคอมพิวเตอร์ A คอมพิวเตอร์ B รู้ได้อย่างไรว่าจะไม่เริ่มกระบวนการใหม่ นี่จะต้องเป็นส่วนหนึ่งของโปรโตคอล X ที่ฉันไม่คุ้นเคย
kasterma

ใน sshd_conf คุณมีตัวเลือกสำหรับสิ่งX11Forwarding yes นี้: สิ่งนี้บอกให้ ssh ถาม X เพื่อส่งต่อมันจะถูกส่งออกผ่าน ssh tunnel ไปยังเซิร์ฟเวอร์ X ของคุณเมื่อใดก็ตามที่คุณเริ่มแอปพลิเคชันด้วย GUI
Patkos Csaba
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.