У меня Linux-машина, к которой я регулярно подключаюсь через ssh (putty) из Windows Я использую X-сервер VcXsrv на своем рабочем столе Windows. Я в основном использую это для запуска отладчика (DDD) и Firefox для доступа к нашей веб-системе обзора кода. Удобно использовать Firefox для Linux, чтобы я мог запустить его из скрипта. Я обычно запускаю это с "-new-tab", чтобы не создавать новые окна.
Теперь у меня есть новый обновленный Linux-компьютер, который я пока использую вместе со старым. Я заметил странное поведение: когда я запускаю новый сеанс Firefox, если он уже запущен на одном из компьютеров, он использует его.
Что я хотел бы сделать, так это запустить новую вкладку, но только под экземпляром firefox с текущего компьютера, а не с другого компьютера, который отображается на том же X-сервере.
Я играл с различными флагами, включая -no-remote, -new-instance, а также определял и использовал определенные профили. Однако я не смог получить желаемый результат. Либо я получаю описанное выше поведение, либо получаю сообщение об ошибке вроде «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)"