Mungkin itu hanya fantasi, tetapi ada beberapa orang yang mengatakan hal yang sama:
Mengapa saya harus menggunakan gksudo untuk aplikasi Gtk alih-alih sudo?
Namun, ada saat-saat lain ketika efek samping bisa sekecil ekstensi Firefox tidak lengket atau ekstrem seperti tidak dapat masuk lagi karena izin pada .ICEauthority Anda berubah.
Mengapa pengguna tidak boleh menggunakan sudo normal untuk memulai aplikasi grafis?
Misalkan Anda menjalankan gedit (editor teks grafis) sebagai root. Jika Anda menjalankan sudo gedit, HOME akan terus menunjuk ke direktori home Anda, meskipun program sedang berjalan sebagai root. Akibatnya, gedit akan menulis file konfigurasi sebagai root ke direktori home Anda. Ini kadang-kadang akan menghasilkan file konfigurasi yang dimiliki oleh root dan dengan demikian tidak dapat diakses oleh Anda (ketika Anda kemudian menjalankan program sebagai diri sendiri dan bukan sebagai root).
Bagaimana menjalankan program GUI sebagai pengguna yang berbeda (Debian)?
Pertama, jangan gunakan sudo atau su untuk mengubah pengguna untuk menjalankan proses grafis, atau Anda mungkin memiliki masalah di telepon (~ / .ICE mengubah pemilik otoritas adalah masalah penting). Sebaliknya, buat pintasan yang menggunakan perintah berikut:
Menjalankan Sudo Secara Grafis
Yah, jujur saja, sebagian besar waktu tidak. Untuk banyak aplikasi, Anda dapat menjalankannya dengan cara yang tidak tepat — menggunakan sudo untuk aplikasi grafis dan tidak melihat efek samping yang merugikan.
...
Kesalahan ini terjadi karena kadang-kadang ketika sudo
meluncurkan aplikasi, itu diluncurkan dengan hak istimewa root tetapi menggunakan file konfigurasi pengguna.
Arsip surat ini mungkin juga menarik bagi Anda.
Jadi, mari kita coba.
2 kotak virtual baru. Ubuntu 14.04. Jangan pernah menjalankan firefox pada mereka. Apa yang akan terjadi ketika saya menjalankan perintah 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
Ini sama (atau paling tidak sangat mirip) untuk kedua kotak virtual. Ketika firefox sedang berjalan, saya menginstal ekstensi youtube - yang berfitur. Lalu saya menutup firefox, dan memeriksa hasilnya.
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
Ya .ICEauthority
baiklah! Namun...
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 hal di folder rumah saya ( /home/tim/
) dimiliki oleh root ( ..
, .dbus
dan .mozilla
). Ini sama (atau paling tidak sangat mirip) untuk kedua kotak virtual.
Jadi, apakah ini penting? Saya tidak yakin, jadi saya menjalankan firefox, seperti ini:
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.
Dan kesalahan jelek ini:
Untuk keluaran terminal lengkap (termasuk celoteh firefox), lihat dua pastebin ini, di sini dan di sini .
Saya masih bisa menjalankan firefox sebagai root. Tetapi sekarang lebih banyak file telah diubah:
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
Apakah ini karena saya mengunggah gambar ke imgur.com? Tidak yakin.
Bagaimana saya memperbaikinya? chown
. Saya tidak mengerti, tetapi internet mengatakan untuk melakukannya, dan itu adalah Kotak Virtual begitu yolo.
sudo chown -R tim:tim /home/tim/
Dan itu memperbaikinya. Sekarang hasilnya hanyalah ..
file:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Dan itu sama di komputer saya yang sebenarnya. Oh, dan di kotak virtual Kubuntu saya:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
Yang saya bahkan tidak pernah menjalankan perintah sudo. Jadi semuanya baik-baik saja. Hanya saja jangan dijalankan sudo
pada aplikasi GUI.
Tes akhir: jalankan dengan -H
dan -i
bendera:
sudo -H firefox
dan
sudo -i firefox
Dan kabar baik! Namun, satu-satunya "akar" root adalah ..
. Dan saya bisa lari firefox
tanpa root.
OP ingin saya berbicara tentang Gedit.
Saya berlari
sudo gedit
Kemudian instal beberapa plugin acak. Ini adalah hasilnya:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Perhatikan bahwa saya bahkan tidak dapat melihat kepemilikan .gvfs
jadi saya melakukan ini:
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
Jadi menjalankan sudo gedit
tidak mengubah file di direktori home saya menjadi root.
Saya masih bisa membuka gedit, tapi kali ini saya dapat sampah:
(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.
Dan itu menunjukkan ada file lain ( ~.local/share/recently-used.xbel
) yang telah diubah. Saya pikir ini adalah daftar file yang terakhir digunakan dan (tebakan beruntung) Saya sekarang tidak lagi memiliki daftar file yang baru-baru ini digunakan:
Seharusnya ada file yang disebut output2.txt.save2
. Kata ganti saya adalah Dia / Dia