Tôi có một máy Linux tôi thường xuyên đăng nhập qua ssh (putty) từ Windows. Tôi đang chạy VcXsrv X-server trên máy tính để bàn Windows của mình. Tôi chủ yếu sử dụng điều này để chạy trình gỡ lỗi (ddd) và firefox để truy cập hệ thống đánh giá mã dựa trên web của chúng tôi. Thật tiện lợi khi sử dụng Linux firefox để tôi có thể khởi chạy nó từ một tập lệnh. Tôi thường khởi chạy cái này với "-new-tab" để không tiếp tục tạo các cửa sổ mới.
Bây giờ tôi đã có một máy Linux cập nhật mới mà tôi đang chạy cùng với máy cũ. Điều tôi nhận thấy là một số hành vi kỳ quặc: khi tôi khởi chạy phiên firefox mới nếu có một phiên bản đang chạy trên một trong hai máy thì nó sẽ sử dụng phiên đó.
Những gì tôi muốn có thể làm vẫn là khởi chạy dưới dạng một tab mới nhưng chỉ trong trường hợp firefox từ máy hiện tại, không phải là một phiên bản từ một máy khác sẽ hiển thị trên cùng một máy chủ X.
Tôi đã chơi xung quanh với nhiều cờ khác nhau bao gồm -no-remote, -new-dụ và cũng xác định và sử dụng các cấu hình cụ thể. Tuy nhiên tôi đã không thể có được kết quả mong muốn. Hoặc tôi nhận được hành vi mà tôi đã mô tả ở trên hoặc tôi gặp lỗi khi nói điều gì đó như "Firefox đã chạy nhưng không phản hồi, vui lòng đóng lại".
EDIT: Tôi đã được yêu cầu chỉnh sửa điều này để cung cấp một số ví dụ.
ĐỒNG Ý. Trong phần tiếp theo tôi sẽ đề cập đến M_OLD và M_NEW. Đây là những máy riêng biệt chạy các phiên bản Linux khác nhau với các phiên bản Firefox khác nhau (1.5 và 19). Tôi kết nối với cả hai thông qua một ứng dụng khách ssh có tên là Putty và đang chuyển tiếp X đến máy chủ X trên máy tính để bàn Windows của tôi. Chỉ có một máy chủ X tham gia.
Ví dụ 1:
Vì vậy, từ phiên putty của tôi đến M_OLD tôi chạy:
firefox www.google.com &
và từ phiên putty M_NEW của tôi, tôi chạy:
firefox www.imdb.com &
sau đó tôi nhận được một cửa sổ firefox 1.5 với hai tab. Nếu tôi làm tương tự ngược lại, tôi nhận được kết quả tương tự nhưng với firefox 19. Nói cách khác, như được mô tả trong một nhận xét bên dưới, lệnh đầu tiên khởi chạy một thể hiện của firefox, lần thứ hai chỉ cần cho cá thể hiện tại mở một tab mới. Ngay cả khi phiên bản đó nằm trên một máy khác, miễn là cùng một máy chủ X.
Tuy nhiên tôi không muốn điều này. Tôi muốn có các trường hợp riêng cho các máy riêng biệt. Vì thế:
Ví dụ 2:
Vì vậy, từ phiên putty của tôi đến M_OLD tôi chạy:
firefox -no-remote www.google.com &
và từ phiên putty M_NEW của tôi, tôi chạy:
firefox -no-remote www.imdb.com &
Bây giờ tôi có hai trường hợp riêng biệt của firefox. Tuy nhiên nếu sau đó tôi chạy trên M_NEW:
firefox -no-remote www.google.com &
Tôi sẽ nhận được
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.
và ngay cả khi tôi cố gắng
firefox -no-remote -new-instance www.google.com &
hoặc chỉ
firefox -new-instance www.google.com &
sau đó tôi vẫn sẽ nhận được lỗi.
Điều tôi thực sự muốn - và có thể không thể - là có một phiên bản riêng cho mỗi máy nhưng nếu một URL mới được khởi chạy từ máy đó thì nó sẽ mở ra một tab mới. Dường như tôi chỉ có thể có một phiên bản với các tab mới cho mỗi URL hoặc một phiên bản cho mỗi máy, nhưng mỗi lần chỉ có một phiên bản.
Hy vọng rằng điều đó rõ ràng hơn.
ssh -X
đúng không?
--no-remote
mặc dù. Bạn có thể chỉnh sửa câu hỏi của mình và cho chúng tôi biết khi nào bạn nhận được thông báo "Firefox đã chạy" không? Chạy firefox -no-remote
sẽ bắt đầu một phiên bản firefox mới chạy trên máy từ xa nhưng được hiển thị trên máy chủ X cục bộ của bạn.
-p -no-remote
. Điều này cho phép bắt đầu với một hồ sơ Fx mới. Xem các tùy chọn dòng lệnh . Để kết nối với quy trình Fx hiện tại, bạn có thể thử firefox https://www.mozilla.org
hoặcfirefox -remote "openURL(https://www.mozilla.org, new-tab)"