Có lẽ đó là một ảo mộng, nhưng có một số người nói điều tương tự:
Tại sao tôi nên sử dụng gksudo cho ứng dụng Gtk thay vì sudo?
Tuy nhiên, có những lúc khác, khi các tác dụng phụ có thể nhẹ như các tiện ích mở rộng của Firefox không bị dính hoặc cực đoan như không thể đăng nhập được nữa vì các quyền trên .ICE Authority của bạn đã thay đổi.
Tại sao người dùng không bao giờ nên sử dụng sudo bình thường để bắt đầu các ứng dụng đồ họa?
Giả sử bạn đang chạy gedit (trình soạn thảo văn bản đồ họa) với quyền root. Nếu bạn chạy sudo gedit, HOME sẽ tiếp tục trỏ đến thư mục chính của bạn, mặc dù chương trình đang chạy bằng root. Do đó, gedit sẽ ghi các tệp cấu hình như root vào thư mục chính của bạn. Điều này đôi khi sẽ dẫn đến các tệp cấu hình được sở hữu bởi root và do đó bạn không thể truy cập được (khi bạn chạy chương trình như chính mình và không phải là root).
Làm cách nào để chạy chương trình GUI với tư cách người dùng khác (Debian)?
Trước hết, không sử dụng sudo hoặc su để thay đổi người dùng để chạy quy trình đồ họa hoặc bạn có thể gặp sự cố (~ / .ICE Authority thay đổi chủ sở hữu là một vấn đề đáng chú ý). Thay vào đó, hãy tạo một lối tắt sử dụng lệnh sau:
Chạy Sudo đồ họa
Chà, thành thật mà nói, hầu hết thời gian là không. Đối với nhiều ứng dụng, bạn có thể chạy chúng theo cách không phù hợp bằng cách sử dụng sudo cho các ứng dụng đồ họa và không thấy tác dụng phụ bất lợi nào.
...
Những lỗi này xảy ra vì đôi khi khi sudo
khởi chạy một ứng dụng, nó khởi chạy với quyền root nhưng sử dụng tệp cấu hình của người dùng.
Kho lưu trữ thư này cũng có thể được bạn quan tâm.
Vì vậy, hãy kiểm tra nó.
2 hộp ảo hoàn toàn mới. Ubuntu 14.04. Không bao giờ chạy firefox trên chúng. Điều gì sẽ xảy ra khi tôi chạy lệnh sudo firefox
?
tim@Hairy14CVB:~$ sudo firefox
(process:4857): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
...
shutdownObserver@XPIProvider.jsm:2192:13
Điều này giống nhau (hoặc ít nhất là rất giống nhau) cho cả hai hộp ảo. Trong khi firefox đang chạy, tôi đã cài đặt một tiện ích mở rộng youtube - một tính năng nổi bật. Sau đó, tôi đóng firefox và kiểm tra đầu ra.
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
Vâng, .ICEauthority
tốt thôi! Tuy nhiên...
tim@Hairy14CVB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 Jun 1 20:49 ..
drwx------ 3 root root 4096 Jun 5 22:41 .dbus
drwx------ 4 root root 4096 Jun 5 22:41 .mozilla
3 thứ trong thư mục nhà của tôi ( /home/tim/
) được sở hữu bởi root ( ..
, .dbus
và .mozilla
). Điều này giống nhau (hoặc ít nhất là rất giống nhau) cho cả hai hộp ảo.
Vì vậy, vấn đề này. Tôi không chắc chắn, vì vậy tôi đã chạy firefox, như thế này:
tim@Hairy14CVB:~$ firefox
(process:4959): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: Access was denied while trying to open files in your profile directory.
Và lỗi xấu xí này:
Để biết đầu ra thiết bị đầu cuối đầy đủ (bao gồm cả lảm nhảm firefox), hãy xem hai mục đích này, tại đây và đây .
Tôi vẫn có thể chạy firefox bằng root. Nhưng bây giờ nhiều tập tin đã được thay đổi:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
drwx------ 3 root root 4096 Jun 5 22:55 .adobe
drwx------ 3 root root 4096 Jun 5 22:40 .dbus
drwx------ 3 root root 4096 Jun 5 22:55 .macromedia
drwx------ 4 root root 4096 Jun 5 22:40 .mozilla
Đây có phải là vì tôi đã tải lên một hình ảnh lên imgur.com? Không chắc.
Làm thế nào tôi sửa cái này? chown
. Tôi không hiểu điều đó, nhưng internet đã nói là làm điều đó và đó là một Hộp ảo rất yolo.
sudo chown -R tim:tim /home/tim/
Và nó đã sửa nó. Bây giờ đầu ra chỉ là ..
tập tin:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Và điều đó cũng tương tự trên máy tính thực tế của tôi. Ồ, và trên hộp ảo Kubfox của tôi:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
Mà tôi chưa bao giờ chạy lệnh sudo. Vì vậy, tất cả là tốt. Chỉ không chạy sudo
trên một ứng dụng GUI.
Thử nghiệm cuối cùng: chạy nó với -H
và các -i
cờ:
sudo -H firefox
và
sudo -i firefox
Và tin tốt! Tuy nhiên, "điều" gốc duy nhất là ..
. Và tôi có thể chạy firefox
mà không cần root.
OP muốn tôi nói về Gedit.
Tôi đã chạy
sudo gedit
Sau đó cài đặt một số plugin ngẫu nhiên. Đây là đầu ra:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Lưu ý rằng tôi thậm chí không thể xem quyền sở hữu .gvfs
vì vậy tôi đã làm điều này:
tim@Hairy14VB:~$ sudo ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
dr-x------ 2 root root 0 Jun 6 10:05 .gvfs
Vì vậy, chạy sudo gedit
không thay đổi một tập tin trong thư mục nhà của tôi để root.
Tôi vẫn có thể mở gedit, nhưng lần này tôi nhận được một số rác:
(gedit:7422): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/tim/.local/share/recently-used.xbel', but the parser failed: Failed to open file '/home/tim/.local/share/recently-used.xbel': Permission denied.
Và điều đó cho thấy có một tệp khác ( ~.local/share/recently-used.xbel
) đã được thay đổi. Tôi nghĩ rằng đây là danh sách các tệp được sử dụng gần đây và (đoán may mắn) Bây giờ tôi không còn có danh sách các tệp được sử dụng gần đây:
Cần có một tập tin ở đó được gọi là output2.txt.save2
. Đại từ của tôi là He / Ngài