У меня 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-адреса или один экземпляр для каждого компьютера, но только по одному за раз.
Надеюсь, это понятнее.