ฉันมีเครื่อง Linux ฉันเข้าสู่ระบบผ่านทาง ssh (putty) จาก Windows เป็นประจำ ฉันกำลังเรียกใช้ VcXsrv X-server บนเดสก์ท็อป Windows ของฉัน ฉันใช้สิ่งนี้เป็นหลักในการเรียกใช้ดีบักเกอร์ (ddd) และ firefox เพื่อเข้าถึงระบบตรวจสอบโค้ดทางเว็บของเรา สะดวกในการใช้ Linux firefox ดังนั้นฉันจึงสามารถเปิดใช้งานได้จากสคริปต์ ปกติฉันจะเปิดสิ่งนี้ด้วย "- แท็บใหม่" เพื่อไม่ให้สร้างหน้าต่างใหม่ต่อไป
ตอนนี้ฉันมีเครื่องลีนุกซ์รุ่นใหม่ที่ฉันใช้พร้อม ๆ กับของเก่าในขณะนั้น สิ่งที่ฉันสังเกตเห็นคือพฤติกรรมแปลก ๆ : เมื่อฉันเปิดใช้งานเซสชัน firefox ใหม่หากมีสิ่งหนึ่งที่ทำงานอยู่บนเครื่องใดเครื่องหนึ่งแล้วจะใช้สิ่งนั้น
สิ่งที่ฉันต้องการจะทำก็ยังคงเปิดตัวเป็นแท็บใหม่ แต่ภายใต้อินสแตนซ์ของ firefox จากเครื่องปัจจุบันไม่ใช่อินสแตนซ์จากเครื่องอื่นที่ปรากฏขึ้นบน X-server เดียวกัน
ฉันได้เล่นกับธงต่าง ๆ รวมถึง - ไม่มี - ระยะไกล - ใหม่ - อินสแตนซ์และยังกำหนดและใช้โพรไฟล์เฉพาะ อย่างไรก็ตามฉันไม่สามารถรับผลลัพธ์ที่ต้องการได้ ไม่ว่าฉันจะได้รับพฤติกรรมที่ฉันอธิบายไว้ข้างต้นหรือฉันได้รับข้อผิดพลาดในการพูดบางอย่างเช่น "Firefox กำลังทำงานอยู่ แต่ไม่ตอบสนองโปรดปิด"
แก้ไข: ฉันถูกขอให้แก้ไขสิ่งนี้เพื่อให้ตัวอย่างบางส่วน
ตกลง. ในสิ่งต่อไปนี้ฉันจะอ้างถึง M_OLD และ M_NEW เหล่านี้เป็นเครื่องแยกต่างหากที่ใช้ Linux เวอร์ชันต่าง ๆ พร้อม Firefox รุ่นต่าง ๆ (1.5 และ 19) ฉันเชื่อมต่อกับพวกเขาทั้งสองผ่านไคลเอนต์ ssh ชื่อ Putty และกำลังส่งต่อ X ไปยังเซิร์ฟเวอร์ X บนเดสก์ท็อป Windows ของฉัน มีเซิร์ฟเวอร์ X เดียวที่เกี่ยวข้อง
ตัวอย่างที่ 1:
ดังนั้นจากช่วงเวลาโป๊วของฉันถึง M_OLD ฉันจึงเรียกใช้:
firefox www.google.com &
และจากช่วงฉาบ M_NEW ของฉันฉันวิ่ง:
firefox www.imdb.com &
จากนั้นฉันจะได้รับหนึ่งหน้าต่าง firefox 1.5 สองแท็บ ถ้าฉันทำแบบเดียวกันฉันจะได้ผลลัพธ์เหมือนกัน แต่กับ firefox 19. ในคำอื่น ๆ ตามที่อธิบายไว้ในความคิดเห็นด้านล่างคำสั่งแรกจะเรียกใช้อินสแตนซ์ของ firefox ที่สองเพียงบอกอินสแตนซ์ที่มีอยู่เพื่อเปิดแท็บใหม่ แม้ว่าอินสแตนซ์จะอยู่ในเครื่องอื่นตราบใดที่เป็นเซิร์ฟเวอร์ X เดียวกัน
อย่างไรก็ตามฉันไม่ต้องการสิ่งนี้ ฉันต้องการแยกอินสแตนซ์สำหรับเครื่องที่แยกต่างหาก ดังนั้น:
ตัวอย่างที่ 2:
ดังนั้นจากช่วงเวลาโป๊วของฉันถึง M_OLD ฉันจึงเรียกใช้:
firefox -no-remote www.google.com &
และจากช่วงฉาบ M_NEW ของฉันฉันวิ่ง:
firefox -no-remote www.imdb.com &
ตอนนี้ฉันมี Firefox สองชุดแยกกัน อย่างไรก็ตามถ้าฉันวิ่งบน M_NEW:
firefox -no-remote www.google.com &
ฉันจะได้รับ
Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.
และแม้ว่าฉันจะพยายาม
firefox -no-remote -new-instance www.google.com &
หรือเพียงแค่
firefox -new-instance www.google.com &
จากนั้นฉันจะยังคงได้รับข้อผิดพลาด
สิ่งที่ฉันต้องการจริงๆ - และอาจเป็นไปไม่ได้ - คือการมีอินสแตนซ์แยกต่างหากสำหรับแต่ละเครื่อง แต่หากมีการเปิดตัว URL ใหม่จากเครื่องนั้นจะเปิดแท็บใหม่ขึ้นมา ดูเหมือนว่าฉันสามารถมีได้เพียงหนึ่งอินสแตนซ์ที่มีแท็บใหม่สำหรับแต่ละ URL หรือหนึ่งอินสแตนซ์ต่อเครื่อง แต่หนึ่งครั้งเท่านั้น
หวังว่าจะชัดเจนขึ้น
ssh -X
ถูกต้องหรือไม่
--no-remote
แม้ว่า คุณสามารถแก้ไขคำถามและแจ้งให้เราทราบเมื่อคุณได้รับข้อความ "Firefox ทำงานแล้ว" การรันfirefox -no-remote
ควรเริ่มต้นอินสแตนซ์ firefox ใหม่ที่รันบนเครื่องระยะไกล แต่แสดงบนเซิร์ฟเวอร์ X ในเครื่อง
-p -no-remote
เช่น สิ่งนี้อนุญาตให้เริ่มต้นด้วยโปรไฟล์ Fx ใหม่ ดูตัวเลือกบรรทัดคำสั่ง ในการเชื่อมต่อกับกระบวนการ Fx ที่มีอยู่คุณสามารถลองfirefox https://www.mozilla.org
หรือfirefox -remote "openURL(https://www.mozilla.org, new-tab)"