У мене є машина Linux, на яку я регулярно входжу через ssh (putty) з Windows. Я працюю на сервері VcXsrv X на своєму робочому столі Windows. Я в основному використовую це для запуску налагоджувача (ddd) і firefox для доступу до нашої веб-системи перегляду коду. Зручно використовувати Linux firefox, тому я можу запустити його зі сценарію. Я зазвичай запускаю це за допомогою "-new-tab", щоб не продовжувати створювати нові вікна.
Тепер у мене є нова оновлена машина Linux, яку я зараз працюю поряд зі старою. Що я помітив, є деяка дивна поведінка: коли я запускаю новий сеанс Firefox, якщо такий вже працює на будь-якій машині, він використовує це.
Те, що я хотів би зробити, це все-таки запустити як нову вкладку, але тільки під екземпляром firefox з поточної машини, а не екземпляром з іншої машини, що, як правило, відображається на тому ж X-сервері.
Я граю з різними прапорами, включаючи -no-remote, -new-instance, а також визначаю та використовую конкретні профілі. Однак я не зміг отримати бажаний результат. Або я отримую поведінку, яку я описав вище, або я отримую помилку, сказавши щось на кшталт "Firefox вже працює, але не відповідає, будь ласка, закрийте його".
EDIT: Мене просили відредагувати, щоб навести кілька прикладів
В ПОРЯДКУ. У подальшому я посилаюся на 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)"