Làm cách nào để khởi chạy ứng dụng với quyền root từ Unity Launcher?


81

Chủ yếu tôi đang tìm cách ghim một ứng dụng vào thanh khởi chạy Unity và chạy nó dưới quyền root.

Hiện tại, ngay cả khi tôi khởi động ứng dụng bằng sudo và ghim nó sau khi khởi động, nó sẽ bắt đầu như người dùng hiện tại vào lần tới.

Đáng buồn, nhưng không có tùy chọn menu ngữ cảnh "chạy như ...".

Cập nhật : Tôi đã chuyển sang gnome3 và bây giờ tôi rất vui, tôi chỉ thiếu tìm kiếm.


Nếu bạn biết nguy cơ chạy các ứng dụng đồ họa với quyền root và vẫn muốn tiếp tục thì hãy làm theo bước 1 tại đây: askubfox.com/a/118483/41562
edm

Bạn không hiểu câu hỏi, tôi biết cách sử dụng sudovà tôi đã điều chỉnh nó. Câu hỏi là về cách tôi có thể tạo lối tắt đến trình khởi chạy Ubuntu Unity cho ứng dụng mà tôi muốn chạy bằng root.
sorin

Đối với launcher đoàn kết, tôi không biết. Nhưng nếu bạn có một tệp nằm trên máy tính để bàn của bạn và bạn muốn chạy nó dưới dạng gksu, thì bạn có thể cài đặt tiện ích mở rộng "nautilus exec".
Người học việc tò mò

Câu trả lời:


89

Nếu bạn muốn ứng dụng luôn chạy bằng root

  1. Ghim ứng dụng vào launcher như bình thường.

  2. Xác định vị trí tệp .desktop sẽ nằm trong một trong hai:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • hoặc ở một nơi khác, sử dụng locate .desktop|grep APPAME
  3. Mở bằng gedit:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. Sau đó thay đổi dòng

    Exec=APP_COMMAND
    

    đến

    Exec=gksudo -k -u root APP_COMMAND
    
  5. Lưu lại

Lệnh này cũng sẽ giữ cho môi trường của bạn rất hữu ích nếu bạn cần kết nối với các máy chủ khác và sử dụng khóa riêng của mình.

Để thêm tùy chọn danh sách nhanh vào 'Chạy với quyền root'

Thực hiện theo các bước 1, 2 và 3 ở trên

Nếu trình khởi chạy hiện không có bất kỳ tùy chọn danh sách nhanh nào khác, chỉ cần thêm phần này vào cuối tài liệu

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity

51
Tại sao nó lại cực kỳ phức tạp để thiết lập một Shortcut đơn giản? Điều gì sai với những người tạo ra Ubuntu?
Sliq

7
để ra gksudolệnh, bạn phải cài đặtsudo apt-get install gksu
Arul 8/07/2015

5
@Sliq được gọi là bảo mật ... Có một biểu tượng máy tính để bàn được thực thi bằng root mà không cần mật khẩu ... rất nguy hiểm ... Đối với tôi đây thực sự là niềm vui của linux ... Nếu tôi muốn một cuộc sống dễ dàng .. tôi sẽ sử dụng windows làm hệ thống chính của mình ...
Angry 84

3
@sliq "Tại sao rất khó để grep từ dấu nhắc cmd? Điều gì không ổn với những người tạo Windows?" - Người tạo ra Ubuntu ... có lẽ
thenaglecode

3
lỗi thời cho Ubuntu 18.XX Ai đó có thể cung cấp giải pháp cập nhật không?
JRsz

4

Trong Menu chính bên dưới Hệ thống, Tùy chọn, nhập gksudovào trường Lệnh của Thuộc tính Trình khởi chạy, ví dụ:

/usr/bin/gksudo /usr/bin/yourapplication

Trường Tên của bạn có thể nói:

sudo yourapplication

Vì vậy, người dùng biết rằng họ có thể thấy một cửa sổ bật lên mật khẩu và tại sao ...

Tôi không chắc chắn về Unity Launcher vs Menu chính. Có lẽ điều này giúp?

Chúc may mắn


3
Bạn có thể biết rằng sudokhông nên sử dụng thẳng để chạy các ứng dụng đồ họa như - rootsau tất cả, bạn đang sử dụng gksudo(đó là một trong những cách tốt). Vì lý do tương tự, không thể sử dụng sudotrong trường tên theo cách bạn có, bởi vì làm như vậy (1) tạo ấn tượng trong số những người dùng đủ kinh nghiệm mà trình khởi chạy của bạn được tạo không chính xác và (2) tạo ấn tượng trong số những người dùng ít kinh nghiệm hơn Bạn có thể sử dụng thẳng sudođể chạy các ứng dụng đồ họa như root.
Eliah Kagan

Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie

2

Sau đây dường như làm điều tương tự, mà không cần thuộc tính riêng tư:

Actions=Runroot;Another

[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND

[Desktop Action Another]
Name=Another action
Exec=whatever

Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie

2

Là một giải pháp thay thế nhanh chóng và đơn giản cho các yêu cầu rườm rà được mô tả trong các câu trả lời ở đây, tôi đã có thói quen làm ...

  1. Khởi động một thiết bị đầu cuối mới.
  2. Đi vào gksu nautilus

    (cũng sudo -i nautilushoạt động.)

Cửa sổ kết quả nằm dưới ô sudo, vì vậy bạn có thể sử dụng nó để truy cập và khởi chạy các tệp có đặc quyền gốc sudo cho nội dung trái tim của bạn cho đến khi nó đóng lại. Điều này rất hữu ích cho các tình huống nhất thời khi bạn không cần một giải pháp lâu dài hơn. Tôi sử dụng nó thường xuyên để trích xuất các tệp nén vào các thư mục hệ thống được bảo vệ, ví dụ.


2
Sử dụng sudovới các ứng dụng đồ họa KHÔNG phải là một ý tưởng tốt. Sử dụng gksuhoặc nếu bạn phải sudo -i.
Seth

2
@Seth: Đã cập nhật. Ngoài ra ... Một lời giải thích nhỏ về lý do tại sao sẽ không được nhắc lại, thay vì chỉ nói một cách mật mã rằng đó không phải là một ý tưởng tốt.
Syndog

Một chủ đề thú vị về chủ đề: crunchbang.org/forums/viewtopic.php?id=8468
Syndog


1

Tôi đang đăng bài này để trả lời câu hỏi @ Chris đã hỏi trong các bình luận:

Giả sử bạn muốn tạo một trình khởi chạy sẽ mở "trình quản lý tệp (nautilus)" bằng quyền root. Sau đó, bạn có thể làm điều này:

Mở thiết bị đầu cuối. Thể loại:

sudo -H gedit /usr/share/applications/nautilus_root.desktop

Nhấn Enter. Khi được hỏi, nhập mật khẩu đăng nhập của bạn và nhấn enter. Điều này sẽ mở gedit (trình soạn thảo văn bản). Bây giờ, dán như sau:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

Bây giờ, chỉ cần lưu nó và thoát. Bạn xong việc rồi. Bây giờ nếu bạn tìm kiếm trên dấu gạch ngang thì bạn sẽ tìm thấy một trình khởi chạy mới "Nautilus (Root)". Nhấp vào đây sẽ hỏi bạn mật khẩu và khi xác thực nautilus sẽ được mở dưới dạng root.

Lưu ý: Cẩn thận khi bạn đang chạy "Nautilus (Root)". Trong chế độ này, bạn có thể xóa hầu hết mọi thứ khỏi /và phá vỡ hệ thống.


0

Đây có lẽ nên là một nhận xét về giải pháp của Daniel. Nó hoạt động với tôi, ngay cả trong Ubuntu 15.04. Tôi đã phải đặt lệnh giữa các trích dẫn Exec=gksu "nautilus --new-window"vì tranh luận thêm. Ngoài ra, bằng cách nào đó, tôi không biết tại sao, tôi phải chỉnh sửa trình khởi chạy trực tiếp để giữ menu gốc (cùng với tùy chọn mới). Nếu bạn kéo trình khởi chạy của riêng mình, nó sẽ được đăng ký, nhưng bạn sẽ không có cùng menu.

Trong Ubuntu 15.04, trình khởi chạy cho nautilus là usr/share/applications/org.gnome.Nautilus.desktop. Bạn phải sử dụng dòng lệnh để xem tên tệp thực.

Nghiên cứu sâu hơn dẫn tôi đến những gì tôi tin là một lựa chọn tốt hơn: http://ubfoxhandbook.org/index.php/2014/04/ubfox-14-04-add-open-as-rootad Administrator-to-content-menu / . Thay vì mở Nautilus hoàn toàn dưới dạng Root, điều này cho phép bạn mở các thư mục được chọn là Root trong Nautilus. Dù sao, tôi đã kiểm tra, và hai tùy chọn này tương thích. Nếu bạn mở Nautilus dưới dạng Root và sau đó sử dụng tùy chọn thứ hai để mở thư mục dưới dạng Root, nó chỉ cần mở nó mà không cần hỏi mật khẩu.

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.