Terminal root olarak nasıl çalıştırılır?


35

Biz kullanmak kök olarak bir programları çalıştırmak istediğinizde sudo, gksu, gksudovb Şimdi benim sorum nasıl Terminalinde kök kullanıcı olarak bir Terminal çalıştırabilir mi edilir?

Ben kullanarak denedim gksudo terminalve gksu terminalfakat hiçbir şey olmuyor. ve çalıştırarak sudo terminalhata alıyorum sudo: terminal: command not found.


4
Öyle gnome-terminal. Öyleyse dene sudo gnome-terminal.
g_p

1
Terminal programının kendisini root olarak çalıştırmanın gerçekten bir avantajı var mı? neden sadece terminalin içinde etkileşimli bir kök kabuk başlatmıyorsunuzsudo -i ?
steeldriver

2
@Guru sudo, bunun gibi grafik programları çalıştırmak için kullanılmamalıdır. Eğer gksu/ gksudodeğilse (veya yüklenmemişse), sudo -H ...(veya sudo -i ...) grafiksel bir uygulamayı ...root olarak çalıştırmak için kullanılabilir .
Eliah Kagan

Evet haklısın.
g_p

Yanıtlar:


53

Ubuntu'daki varsayılan terminal emülatörü, GNOME Terminalidir . Bulunur /usr/bin/gnome-terminalve gnome-terminalkomutla çalıştırılabilir .

Gerçekten Ne İstiyorsun

Muhtemelen istediğin, bir kök girişinden üretilmiş gibi kök olarak çalışan bir kabuktur (örneğin, kullanıcı için değil, kök için ayarlanmış tüm ortam değişkenleri ile).

İstediğin şeyin bu olduğunu varsayalım, steeldriver'ın önerdiği gibi , sadece koş:

sudo -i

Girdiğiniz komutların root olarak çalıştırılacağı bir kök kabuğuna sahip olacaksınız (önceden gelmek zorunda kalmadan sudo).

Fakat grafiksel terminal emülatörü uygulamasını gerçekten root olarak çalıştırmak istiyorsanız, okumaya devam edin. İki yol sunarım: gksu/ gksdoile ve sudokomutuyla.

/ İlegksugksudo

Yüklü gksuGksu yükle paketiniz olduğundan, şunlardangnome-terminal biriyle kök olarak çalıştırabilirsiniz :

gksu gnome-terminal
gksudo gnome-terminal

( gksuVarsayılan olarak Ubuntu'da sudo moduna ayarlandığı için, bunlar eşdeğer olmalıdır.)

gnome-terminalRoot olmayan kontrol terminali olmadan root olarak çalıştırma

Hemen hemen her masaüstü ortamı, bir terminal açmak zorunda kalmadan bir komutu çalıştırmak için bir olanak sağlar (daha sonra kapalıysa genellikle komutun sonlandırılmasına neden olur).

Bu genellikle Alt+ ile gerçekleştirilir F2. Çalıştır komutu (veya benzeri) etiketli bir metin kutusu görünür ve komutunuzu girebilirsiniz.

Örneğin, Birlik'te şöyle görünür:

Unity'de bir komut metin kutusu çalıştırın

Ve MATE'teki gibi (GNOME Flashback / Fallback, Xfce, LXDE benzer):

MATE'te Komut Çalıştır iletişim kutusu

Not olduğu bu eserler gksuve gksudoçünkü onlar bir grafik kimlik doğrulama iletişim kutusunu kullanın. Alt+ F2Tuşlarına basıp çalıştırıyorsanız sudo ..., parola istemi ile etkileşime giremezsiniz.

İle sudo

Eğer gksu paketiniz yoksa ve kurmak istemiyorsanız, şunları kullanabilirsiniz:

sudo -H gnome-terminal

-HO ayarlar nedeniyle bayrak önemlidir HOMEçevre değişkeni /rootkendi kullanıcının ev dizini yerine. Sen gerektiğini değil kullanmak sudo gnome-terminalbu kök olmayan kullanıcıya ait gnome-terminal yapılandırması kırmak gibi. Bu konuda daha fazla bilgi için, bakınız:

( sudo -i gnome-terminalayrıca tamam.)

Kontrol olmayan root terminalinden kurtulma:

Eğer (1) grafik bir terminal açarsanız, (2)sudo -H gnome-terminal yeni bir grafiksel kök terminal oluşturmak için onun gibi bir şey yaparsanız , ve (3) orijinal köksel olmayan grafiksel terminalden çıkarsanız ... o zaman kök grafiksel terminal de sonlandırılır .

Bunun nedeni, kök grafik terminaline, sahip olduğu terminal çıkıldığında SIGHUP gönderilmesidir .

Bunu önlemek için, bunun yerine grafik kök terminalini başlatabileceğinizi düşünebilirsiniz:

sudo -H gnome-terminal &

Ancak bu yalnızca sudobir şifre sormanız gerekmediğinde işe yarar . Varsa, şifre istemini görmezsiniz.

Bu sorunu çözmenin bir yolu kullanmaktır:

sudo -v
sudo -H gnome-terminal

sudo -vSadece bu amaç için var. Açıklandığı gibi man sudo, "kullanıcının önbelleğe alınmış kimlik bilgilerini günceller, gerekirse kullanıcının kimliğini doğrular."

Doğrudan masaüstü ortamınızın Alt+ F2"run command" kutusundan çalıştırdığınızda bunun çalışmayacağını unutmayın, çünkü şifrenizi girmek için hala bir terminale ihtiyacınız var sudo -v.

Veya , işi başladıktan sonra askıya alarak , geleneksel yöntemle adlandırılabilecek şekilde yapabilirsiniz :

  1. Çalışma sudo -H gnome-terminalorijinal kök olmayan bir grafik terminalden.
  2. Parolanızı istendiği gibi girin sudo. Grafik terminal başlayacaktır.
  3. Hala root olmayan terminalde , root terminalini askıya almak için Ctrl+ tuşuna basın Z. Kök terminali askıda iken, onu kullanamazsınız; arayüzü sizin eylemlerinize cevap vermeyecektir.
  4. Root olmayan kontrol terminalinden çık exit. Grafik kök terminali işi hem köksüz hem de kök olmayan terminal tarafından otomatik olarak reddedilecektir.

Kısacası:

sudo -H gnome-terminal
^Z
exit

Ancak, orijinal, root olmayan terminali kullanmaya devam etmek istediğinizi varsayalım. Ardından , işin arkaplanda devam etmesi için grafik kök terminalin iş numarası nerede koşulabilir. Kaçabilirsin bulmak için ama muhtemelen gerek olmayacak - sayı olarak gösterilen olduğunu sen basıldığında + . Örneğin:bg NNjobsN[N]CtrlZ

ek@Ilex:~$ sudo -H gnome-terminal
[sudo] password for ek: 
^Z
[1]+  Stopped                 sudo -H gnome-terminal
ek@Ilex:~$

Ben de koşabilirim xterm. Ubuntu'da kaç tane terminal var?
αғsнιη

@KasiyA çok fazla. Bir keresinde 25'te saymayı bıraktım. Macun, Terminator de çok kullanılıyor.
Rinzwind

6

Kısa cevap:

gksudo gnome-terminal
(assuming gksu is installed)

bir terminali root olarak açar:

root@jacob-Satellite-L300:~#

Herhangi bir terminali bu şekilde root olarak açmak için bunu kullanabileceğinizi açıklamaya gerek yok ; Vala ( gksudo vala-terminal), Xterm ( gksudo xterm), Termit ( gksudo termit), UXTerm ( gksudo uxterm), Konsole ( gksudo konsole) gibi.


1
Peki ya bu sudo x-terminal-emulator?
αғsнιη

@KasiyA Hala kullanmalısınız gksu x-terminal-emulator, gksudo x-terminal-emulator, kdesudo x-terminal-emulator(masaüstü ortamı KDE ise), sudo -H x-terminal-emulatorya da sudo -i x-terminal-emulatorbunun yerine, bu sorunu önlemek için . Benzer şekilde, root olarak sudo geditçalışmak için kullanılmamalıdır gedit.
Eliah Kagan

2

Daha önce belirtildiği gibi, Terminal'i root olarak nasıl çalıştıracağınızı sorarsınız, ancak grafik Terminal uygulamasını normal kullanıcınız olarak çalıştırmak isteyip istemediğinizi ve bunun içinde root olarak oturum açtığınız bir root kabuğunu başlatmak isteyebilirsiniz. Bu şekilde, grafiksel terminal uygulamasına kök ayrıcalıkları verilmez. Önceki cevaplar net komut satırı kullanacak gibi görünmüyor bu yüzden işte kullanıyorum.

Xterm ile

xterm -bg black -fg red -e sudo -i

'-E sudo -i', xterm'e oturumda root'a geçmesini ve renklerin sadece bunun bir root kabuğu olduğunu açıkça belirtmesini sağlar.

Gnome Terminali ile

gnome-terminal -- sudo -i

Şahsen, terminalleri kolayca başlatmak için Gnome tuş bağlantılarını bağlarım

Klavye ayarlarına gidin, Kısayol Süper + X ile özel bir kısayol ekleyin ve 'xterm -bg siyah -fg beyaz -sb -sl-5000' komutunu ve kısayol Super + Z ile kök xterm'i ve 'xterm -bg siyah -fg kırmızı komutunu kullanın - sb -sl 5000 -e sudo -i '.

Geçmişte Gnome Terminali'nden xterm'i tercih etme eğilimindeydim çünkü yazı tipi küçük ve basit, ancak Terminal'e dönüyorum şimdi yüksek DPI büyük ekranlar kullanıyorum. Kazaları önlemek için tehlikeli sonuçlara sahip farklı profilleri çalıştırmaya başladığınızda terminallerinizi renk kodlamak çok iyi bir fikirdir (örneğin, yerel kök, uzak müşterinin makinesi, uzak istemci kökü).


0

Bunu yapmanın, test edilmiş ve Ubuntu 16.04 LTS üzerinde çalışmanın başka bir yolu var:

İlk önce gnome panelini kurun:

sudo apt install gnome-panel

Sonra gksu'yu kurun:

sudo apt install gksu

Kurulum tamamlandıktan sonra aşağıdakileri çalıştırın:

gnome-desktop-item-edit ~/Desktop/ --create-new

Bu bir masaüstü kısayolu oluşturur. Adlandırma seçeneğiniz olmalı. Benim 'X-Term' adını verdim, ama ne istersen onu hemen söyleyebilirsin. Yazın /usr/bin/gksu'Command' yolu için *.

Yeni masaüstü kısayolunuzu başlattığınızda bir uygulamanın çalışması istenir. Yazın: xterm.

Şimdi şifreniz istenecek; Bir kez girdiğinizde çalışan bir kök terminaline erişebileceksiniz. Sadece kesinlikle gerekli olduğunda kullanmayı unutmayın ve işiniz bittiğinde kapatın.

* varsayılan ayarlarla Ubuntu'yu kurduğunuzu ve kurulumdan bu yana dosya sistemlerinden hiçbirini değiştirmediğini varsayalım.


0

Debian 9 stretch kullanıyorum

Klavye kısayollarına gidin, şöyle bir komut ekleyin:

`gksu / usr / bin / x-terminal emülatörü '

Kısa yol Super + Tolarak koymuştum .

Şimdi bir terminali root olarak açmak istediğinizde, sadece size kısayol yazın

Umarım gelecekte birine yardımcı olabilir


-1

Aşağıdakilerle etkileşimli bir kabuk başlatabilirsiniz:

sudo -s

Daha fazla bilgi için:

man sudo

ve -s --shellbölümü okuyun .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.