Ketika kita ingin menjalankan program sebagai root kita gunakan sudo
, gksu
, gksudo
dan lain-lain Sekarang pertanyaan saya adalah bagaimana kita dapat menjalankan Terminal sebagai user root di Terminal?
Saya mencoba menggunakan gksudo terminal
dan gksu terminal
tetapi tidak ada yang terjadi. dan dengan menjalankan sudo terminal
saya mendapatkan kesalahan sudo: terminal: command not found
.
gnome-terminal
root
αғsнιη
sumber
sumber
gnome-terminal
. Jadi cobasudo gnome-terminal
.sudo -i
?sudo
seharusnya tidak digunakan untuk menjalankan program grafis seperti ini. Jikagksu
/gksudo
tidak (atau mungkin tidak) diinstal,sudo -H ...
(atausudo -i ...
) dapat digunakan untuk menjalankan aplikasi grafis...
sebagai root.Jawaban:
Emulator terminal default pada Ubuntu adalah Terminal GNOME . Itu terletak di
/usr/bin/gnome-terminal
dan dapat dijalankan dengangnome-terminal
perintah.Apa yang benar-benar Anda inginkan
Apa yang mungkin Anda inginkan adalah shell yang berjalan sebagai root, seolah-olah itu dihasilkan dari login root (misalnya, dengan semua variabel lingkungan ditetapkan untuk root daripada untuk pengguna Anda).
Dengan asumsi itulah yang Anda inginkan, seperti yang disarankan steeldriver , jalankan:
Anda akan memiliki shell root di mana perintah yang Anda masukkan akan dijalankan sebagai root (tanpa harus mendahului mereka
sudo
).Tetapi jika Anda benar-benar ingin menjalankan aplikasi emulator terminal grafis sebagai root, baca terus. Saya menyajikan dua cara: dengan
gksu
/gksdo
, dan dengansudo
perintah.Dengan
gksu
/gksudo
Karena Anda telah menginstal paket gksu , Anda dapat menjalankan
gnome-terminal
sebagai root dengan salah satu dari:(Karena
gksu
diatur ke mode-sudo di Ubuntu secara default, ini harus setara.)Berjalan
gnome-terminal
sebagai root tanpa terminal pengendali non-root:Hampir setiap lingkungan desktop menyediakan fasilitas untuk menjalankan perintah tanpa harus membuka terminal (yang kemudian, jika ditutup, biasanya menyebabkan perintah akan dihentikan).
Ini biasanya dicapai dengan Alt+ F2. Kotak teks berlabel Perintah jalankan (atau serupa) akan muncul dan Anda dapat memasukkan perintah Anda.
Misalnya, seperti ini di Unity:
Dan seperti ini di MATE (GNOME Flashback / Fallback, Xfce, LXDE serupa):
Perhatikan bahwa ini berfungsi dengan
gksu
dangksudo
karena mereka menggunakan dialog otentikasi grafis. Jika Anda menekan Alt+ F2dan menjalankansudo ...
, maka Anda tidak akan dapat berinteraksi dengan prompt kata sandi.Dengan
sudo
Jika Anda tidak memiliki paket gksu dan Anda tidak ingin menginstalnya, Anda dapat menggunakan:
The
-H
flag penting karena menetapkanHOME
variabel lingkungan untuk/root
bukannya direktori home pengguna Anda sendiri. Anda tidak boleh menggunakannyasudo gnome-terminal
karena dapat merusak konfigurasi gnome-terminal milik pengguna non-root. Untuk informasi lebih lanjut tentang ini, lihat:(
sudo -i gnome-terminal
juga baik-baik saja.)Menyingkirkan terminal pengendali non-root:
Jika Anda (1) membuka terminal grafis, (2) menjalankan sesuatu seperti
sudo -H gnome-terminal
di dalamnya, untuk membuat terminal root grafis baru, dan (3) keluar dari terminal grafis non-root asli ... maka terminal root grafis juga berhenti. .Ini karena terminal root grafis dikirim SIGHUP ketika terminal yang memilikinya itu keluar.
Untuk mencegah hal ini, Anda mungkin berpikir Anda bisa meluncurkan terminal root grafis dengan:
Tetapi ini hanya akan berfungsi jika
sudo
tidak harus meminta kata sandi. Jika ya, Anda tidak akan melihat prompt kata sandi.Salah satu cara untuk mengatasi ini adalah dengan menggunakan:
sudo -v
ada hanya untuk tujuan ini. Sebagaimana dijelaskan dalamman sudo
, itu "memperbarui kredensial cache pengguna, mengotentikasi pengguna jika perlu."Perhatikan bahwa ini masih tidak akan berfungsi jika dijalankan langsung dari kotak Alt+ F2"jalankan perintah" lingkungan desktop Anda , karena Anda masih memerlukan terminal untuk memasukkan kata sandi Anda
sudo -v
.Atau Anda dapat melakukannya dengan cara yang mungkin disebut dengan cara tradisional, dengan menangguhkan pekerjaan setelah dimulai:
sudo -H gnome-terminal
dari terminal grafis non-root yang asli.sudo
. Terminal grafis akan mulai.exit
. Pekerjaan terminal root grafis akan ditangguhkan dan tidak diakui oleh terminal non-root, secara otomatis.Pendeknya:
Tapi misalkan Anda ingin tetap menggunakan terminal asli, juga non-root. Lalu Anda bisa menjalankan , di mana nomor pekerjaan terminal root grafis, untuk melanjutkan pekerjaan di latar belakang. Anda dapat menjalankan untuk menemukan tetapi Anda mungkin tidak perlu - nomor itu ditampilkan seperti ketika Anda menekan + . Sebagai contoh:
bg N
N
jobs
N
[N]
CtrlZsumber
xterm
. berapa banyak terminal yang ada di Ubuntu?Jawaban singkat:
membuka terminal sebagai root:
Tidak perlu menjelaskan bahwa Anda dapat menggunakan ini untuk membuka terminal apa pun sebagai root seperti ini; seperti Vala (
gksudo vala-terminal
), Xterm (gksudo xterm
), Termit (gksudo termit
), UXTerm (gksudo uxterm
), Konsole (gksudo konsole
) dan sebagainya.sumber
sudo x-terminal-emulator
?gksu x-terminal-emulator
,gksudo x-terminal-emulator
,kdesudo x-terminal-emulator
(jika lingkungan desktop Anda KDE),sudo -H x-terminal-emulator
atausudo -i x-terminal-emulator
sebaliknya, untuk menghindari masalah yang . Demikian pula,sudo gedit
tidak boleh digunakan untuk menjalankangedit
sebagai root.Seperti yang dinyatakan sebelumnya, Anda bertanya bagaimana menjalankan Terminal sebagai root, tetapi lebih besar kemungkinan Anda sebenarnya ingin menjalankan aplikasi Terminal grafis sebagai pengguna normal Anda, dan memulai shell root di dalamnya di mana Anda masuk sebagai root. Dengan cara ini aplikasi terminal grafis tidak diberikan hak akses root. Jawaban sebelumnya sepertinya tidak memberikan baris perintah yang jelas untuk digunakan jadi inilah yang saya gunakan.
Dengan xterm
xterm -bg black -fg red -e sudo -i
'-E sudo -i' memberitahu xterm untuk beralih ke root di sesi, dan warnanya hanya untuk membuatnya sangat jelas bahwa itu adalah shell root.
Dengan Terminal Gnome
gnome-terminal -- sudo -i
Secara pribadi, saya mengikat Gnome keybindings untuk meluncurkan terminal dengan mudah
Buka Pengaturan keyboard, tambahkan pintasan khusus dengan Shortcut Super + X dan perintah 'xterm -bg hitam -fg putih -sb -sl 5000', dan root xterm dengan Shortcut Super + Z dan perintah 'xterm -bg hitam -fg merah - sb -sl 5000 -e sudo -i '.
Di masa lalu saya cenderung lebih suka xterm daripada Terminal Gnome karena fontnya kecil dan sederhana, tapi saya datang ke Terminal sekarang saya menjalankan layar besar DPI tinggi. Kode warna terminal Anda adalah ide yang sangat bagus setelah Anda mulai menjalankan profil yang berbeda dengan konsekuensi berbahaya untuk menghindari kecelakaan (misalnya root lokal, mesin klien jarak jauh, root klien jarak jauh).
sumber
Ada cara lain untuk melakukan ini, diuji dan bekerja di Ubuntu 16.04 LTS:
Pertama instal gnome-panel:
Kemudian instal gksu:
Setelah instalasi selesai, jalankan:
Ini menciptakan pintasan desktop. Anda harus memiliki opsi untuk menamainya. Saya menyebut 'X-Term' milik saya, tetapi Anda dapat menelepon Anda apa pun yang Anda inginkan. Ketikkan
/usr/bin/gksu
* untuk jalur 'Perintah'.Saat Anda meluncurkan pintasan desktop baru, Anda akan diminta menjalankan aplikasi. Ketik:
xterm
.Anda sekarang akan diminta kata sandi Anda; setelah Anda memasukkannya, Anda akan memiliki akses ke terminal root yang berfungsi. Ingatlah untuk menggunakan hanya ketika benar-benar diperlukan dan tutup ketika Anda selesai dengan itu.
* dengan asumsi Anda menginstal Ubuntu dengan pengaturan default dan belum mengubah sistem file apa pun secara signifikan sejak instalasi.
sumber
Saya menggunakan stretch Debian 9
Buka pintasan keyboard, tambahkan perintah seperti ini:
`gksu / usr / bin / x-terminal-emulator '
Saya telah menempatkan
Super + T
sebagai jalan pintas.Sekarang setiap kali Anda ingin membuka terminal sebagai root, cukup ketik pintasan Anda
Saya harap ini dapat membantu seseorang di masa depan
sumber
Anda dapat memulai shell interaktif dengan:
Untuk informasi lebih lanjut, lakukan:
dan baca
-s --shell
bagian itu.sumber