Belki de bir fantezi, ama aynı şeyi söyleyen birkaç kişi var:
Neden sudo yerine Gtk uygulamaları için gksudo kullanmalıyım?
Bununla birlikte, yan etkilerin, Firefox uzantılarının yapışmaması kadar hafif olabileceği veya .ICEauthority'nizdeki izinler değiştiği için artık giriş yapamayacak kadar aşırı olabileceği başka zamanlar da vardır.
Kullanıcılar neden grafik uygulamaları başlatmak için normal sudo kullanmamalıdır?
Diyelim ki root olarak gedit (grafiksel metin editörü) çalıştırıyorsunuz. Eğer sudo gedit çalıştırırsanız, program kök olarak çalışıyor olsa bile HOME ana dizininizi göstermeye devam edecektir. Sonuç olarak, gedit yapılandırma dosyalarını ana dizininize kök olarak yazar. Bu, bazen yapılandırma dosyalarının root'a sahip olmasına ve dolayısıyla sizin için erişilememesine neden olur (programı daha sonra root olarak değil, kendiniz olarak çalıştırdığınızda).
Bir GUI programını farklı bir kullanıcı (Debian) olarak nasıl çalıştırırım?
Öncelikle, kullanıcıları grafiksel bir işlem yürütmek için değiştirmek için sudo veya su kullanmayın ya da satırda sorun yaşayabilirsiniz (~ / .ICEauthority değişen sahibi dikkate değer bir sorundur). Bunun yerine, aşağıdaki komutu kullanan bir kısayol oluşturun:
Sudo'yu Grafik Olarak Çalıştırma
Tamamen dürüst olmak gerekirse, çoğu zaman değildir. Birçok uygulama için, grafiksel uygulamalar için sudo kullanarak ve olumsuz yan etkiler görmeyerek bunları yanlış bir şekilde çalıştırabilirsiniz.
...
Bu hatalar, bazen sudo
bir uygulamayı başlattığında, kök ayrıcalıklarıyla başlatıldığı ancak kullanıcının yapılandırma dosyasını kullandığı için oluşur.
Bu posta arşivi de ilginizi çekebilir.
Öyleyse test edelim.
2 yeni sanal kutu. Ubuntu 14.04. Onları asla firefox çalıştırmayın. Komutu çalıştırdığımda ne olacak 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
Bu, her iki sanal kutu için de aynıdır (veya en azından çok benzerdir). Firefox çalışırken, öne çıkan bir youtube uzantısı yükledim. Sonra firefox'u kapattım ve çıktıyı kontrol ettim.
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
Peki, .ICEauthority
sorun değil! Ancak...
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
Giriş klasörümdeki ( /home/tim/
) 3 şey root ( ..
, .dbus
ve .mozilla
) 'a aittir . Bu, her iki sanal kutu için de aynıdır (veya en azından çok benzerdir).
Bu önemli mi? Emin değildim, bu yüzden şu şekilde firefox çalıştırdım:
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.
Ve bu çirkin hata:
Tam terminal çıkışı için (firefox gevezelik dahil), burada ve burada bu iki pastebine bakın .
Bu arada hala firefox'u root olarak çalıştırabilirim. Ancak şimdi daha fazla dosya değiştirildi:
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
Bu imgur.com'a bir resim yüklediğim için miydi? Emin değil.
Bunu nasıl düzelttim? chown
. Anlamıyorum, ama internet bunu söyledi, ve bu bir Sanal Kutu çok yolo.
sudo chown -R tim:tim /home/tim/
Ve bu düzeltildi. Şimdi çıktı sadece ..
dosya:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Ve bu gerçek bilgisayarımda da aynı. Oh, ve Kubuntu sanal kutumda:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
Hangi sudo komutunu bile çalıştırmadım. Yani her şey yolunda. sudo
Bir GUI uygulamasında çalıştırmayın .
Son test: -H
ve -i
bayraklarıyla çalıştırın :
sudo -H firefox
ve
sudo -i firefox
Ve iyi haber! Yine de, tek kök "şey" dir ..
. Ve köksüz koşabilirim firefox
.
OP, Gedit hakkında konuşmamı istiyor.
Koştum
sudo gedit
Sonra bazı rastgele eklentiler yüklendi. Bu çıktı:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Unutmayın ki sahipliğini bile göremiyorum, .gvfs
bu yüzden bunu yaptım:
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
Bu yüzden çalıştırmak sudo gedit
ana dizinimdeki bir dosyayı kök olarak değiştirir.
Hala gedit açabiliyorum, ama bu sefer biraz çöp çıkarıyorum:
(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.
Bu ~.local/share/recently-used.xbel
da değiştirilen başka bir dosya ( ) olduğunu gösterir. Sanırım bu Son kullanılan dosyalar listesi ve (şanslı tahmin) Artık artık son kullanılan dosyalar listem yok:
Orada bir dosya olmalı output2.txt.save2
. Benim zamirlerim O