Điều gì khiến Nautilus khởi động lại bất cứ khi nào tôi giết nó?


28

Trong htop, tôi giết Nautilus, và trong vòng một giây, nó quay lại, với một bộ vi xử lý mới!

Nautilus được khởi động lại hiển thị trong danh sách Quy trình, nhưng không có GUI cho đến khi tôi khởi chạy Nautilus theo cách thủ công ... Tôi đã nghe đề cập đến Nautilus hoạt động theo từng bước với máy tính để bàn ... có lẽ đó là lý do (?).

Có một số loại chương trình "watchdog" để mắt đến một số chương trình quan trọng? Theo dõi Nautilus dường như không phải là vấn đề hạt nhân Linux, vì vậy tôi chỉ tự hỏi điều gì đang xảy ra ở đây?

Câu trả lời:


20

Gnome sử dụng Trình quản lý phiên ( gnome-session) để theo dõi những gì nó cần làm. Nó chịu trách nhiệm đưa lên toàn bộ phiên, tất cả các quy trình con, khôi phục trạng thái và lưu nó khi bạn đăng xuất.

Gnome cung cấp các công cụ để cho phép ứng dụng của bạn chạy trơn tru từ phiên này sang phiên khác. Người dùng có thể đăng xuất với các ứng dụng đang chạy và khôi phục hoàn toàn các ứng dụng đó khi đăng nhập lại. - từ Thư viện Tài liệu Gnome

Trong số những thứ khác, trình quản lý phiên cố gắng duy trì phiên bản Nautilus đang chạy. Nautilus phải đăng ký với trình quản lý phiên cho điều đó - theo mặc định; tự nhiên, có một tùy chọn dòng lệnh để vô hiệu hóa nó:

nautilus --sm-disable

Bạn có thể giết quá trình Nautilus đang chạy bằng cách chạy:

killall -9 nautilus


Cảm ơn Stefano .. Bạn đã đưa ra một cái nhìn tổng quan tốt, và đó là những gì tôi đã theo đuổi, nhưng như thường lệ, một lời giải thích có thể đưa ra một câu hỏi khác ... Tôi sẽ đề cập đến một câu hỏi: Tôi đã chạy nautilus --sm-disable(người dùng và sudo). Điều này có thể đã vô hiệu hóa kết nối với trình quản lý phiên, nhưng trình quản lý phiên tiếp tục khởi động lại nautilus (với "nautilus --sm-vô hiệu hóa" hiển thị trong danh sách quy trình) ... Vì vậy, tham số này chỉ có hiệu lực nếu nó được áp dụng khi khởi động phiên (so với giữa phiên) và có bất kỳ sự phân nhánh nghiêm trọng nào khi bị vô hiệu hóa không? (Tôi nghĩ việc tự động gắn kết sẽ biến mất, nhưng ...?
Peter.O

Vâng, nautilus --sm-disabletrong một tính năng không có giấy tờ . Thật khó để nói Nhưng hãy nhớ rằng nautilus sẽ khởi động lại ngay khi nó bị giết , bạn phải bắt đầu phiên bản đầu tiên của nó với tham số này. killall nautilus && nautilus --sm-disablesẽ không làm việc Lệnh không vô hiệu hóa tính năng cho các phiên bản đang chạy của nautilus. Bạn có thể thử kết hợp câu trả lời của tôi và andrews Something. ;-)
Stefano Palazzo

sử dụng killall -9 nautilus.
RolandiXor

nautilus --sm-disablekhông hoạt động trong Ubuntu 15.10 ( Unknown option --sm-disable). Ngoài ra không có phiên Gnome.
Hubro

11

Như những người khác đã đề cập, gnome-sessionhồi sinh các nautilusquá trình tự động. Nó cũng làm như vậy cho gnome-panelgnome-wm(lần lượt khởi động trình quản lý cửa sổ được cấu hình bởi người dùng, thường là compizhoặc metacity).

Hành vi này có thể tùy chỉnh thông qua các desktop > gnome > session > required_componentskhóa gconf.

required_components gconf key

Chỉnh sửa các giá trị này có thể hữu ích nếu bạn muốn, ví dụ, chạy ra khỏi Bảng điều khiển Gnome và chỉ sử dụng Docky hoặc AWN.


6

gnome-sessionchịu trách nhiệm đối phó với nautilus. Là cha mẹ của nó trong cây quy trình, không có quá trình nào khác có thể hồi sinh nó.

ps -eaH cho bạn thấy cây quy trình phân cấp được trích dẫn ở đây:

    1 ?        00:00:00 init
 1113 ?        00:00:00   gdm-binary
11391 ?        00:00:00     gdm-simple-slav
11396 tty8     00:00:13       Xorg
11465 ?        00:00:00       gdm-session-wor
11629 ?        00:00:00         gnome-session
11746 ?        00:00:02           nautilus

Cảm ơn msw ... Đó là một danh sách khá nhiều thông tin (-eaH).
Peter.O

5

Chipaca & andrews Something đều gần gũi ... :)

Các /desktop/gnome/session/required_components_listdanh mục chính là "linh kiện" cần được theo dõi bởi gnome-session, và khởi động lại tự động khi họ thoát ra. Giá trị mặc định cho Gnome 2 là như thế [windowmanager,panel,filemanager].

Nếu bạn muốn ngăn nautilus (hoặc bất kỳ "thành phần filemanager" nào bạn đã cấu hình) bắt đầu (tái) bằng cơ chế này, bạn có thể thay đổi giá trị thành [windowmanager,panel]. (Bạn vẫn có thể khởi động nó trong khi đăng nhập bằng cách thêm nó vào danh sách các chương trình khởi động phiên, nhưng nó sẽ không được khởi động lại tự động nữa.)

Ứng dụng nào (với tham số dòng lệnh nào) được khởi động cho từng thành phần được xác định /desktop/gnome/session/required_componentstrong một khóa có tên của thành phần. Có thể là nhiều thành phần được liệt kê ở đây hơn được sử dụng trong /desktop/gnome/session/required_components_listkhóa.

Bây giờ, trong trường hợp nautilus, theo mặc định khi nó chưa chạy, nó sẽ khởi động ở chế độ nền và nếu /apps/nautilus/preferences/show_desktopkhóa được đặt, nó cũng hiển thị Desktop. Cũng có thể yêu cầu nautilus hành xử khác với các tham số dòng lệnh.


Đây là câu trả lời chính xác.
Travis Watkins

2

Nautilus đang được khởi động lại bởi vì bạn có nó vẽ máy tính để bàn. Đi vào

gconftool-2 --type bool --set /apps/nautilus/preferences/show_desktop False

trong một thiết bị đầu cuối để nó ngừng làm điều đó, và sau đó nó không nên quay lại sau khi giết.


Các show_desktop = Falsetùy chọn nào không ngăn chặn Nautilus từ khởi động lại ... vì vậy tôi nghĩ rằng Nautilus phải làm nhiều hơn đằng sau hậu trường hơn là chỉ rằng ... Bằng cách này, tôi như tùy chọn này, như tôi không giữ bất cứ điều gì trên màn hình, và nó thật khó chịu khi Ảnh chụp màn hình lưu hình ảnh của nó ở đó (dường như không có cách nào để thay đổi điều này) .... Cũng chỉ cần chú ý một tùy chọn khác mà tôi thực sự thích : show_advanced_permissions True... Cảm ơn :)
Peter.O

0

trong tổng số làm:

gconftool-2 -s -t bool /desktop/gnome/background/draw_background false
gconftool-2 -s -t bool /apps/nautilus/preferences/show_desktop false

sudo gedit /usr/share/applications/nautilus.desktop

thay đổi thành:

X-Gnome-AutoRestart = false

(tìm thấy tại: https://bbs.archlinux.org/viewtopic.php?id=119254 )

đó là tất cả...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.