Trình giả lập thiết bị đầu cuối mặc định trên Ubuntu là Terminal Gnome . Nó nằm ở /usr/bin/gnome-terminalvà có thể được chạy bằng gnome-terminallệnh.
Bạn thực sự muốn gì
Những gì bạn có thể muốn là một shell chạy dưới quyền root, như thể nó được tạo ra từ một đăng nhập gốc (ví dụ, với tất cả các biến môi trường được đặt cho root chứ không phải cho người dùng của bạn).
Giả sử đó là những gì bạn muốn, như Steeldo đã đề xuất , chỉ cần chạy:
sudo -i
Bạn sẽ có một vỏ gốc trong đó các lệnh bạn nhập sẽ được chạy dưới dạng root (mà không cần phải đặt trước chúng sudo).
Nhưng nếu bạn thực sự muốn chạy ứng dụng giả lập thiết bị đầu cuối đồ họa như root, hãy đọc tiếp. Tôi trình bày hai cách: với gksu/ gksdovà với sudolệnh.
Vì bạn đã cài đặt gói gksu
, bạn có thể chạy gnome-terminalbằng root với:
gksu gnome-terminal
gksudo gnome-terminal
(Vì gksuđược đặt thành chế độ sudo trong Ubuntu theo mặc định, các giá trị này phải tương đương.)
Chạy gnome-terminalnhư root mà không có terminal không root kiểm soát:
Hầu như mọi môi trường máy tính để bàn đều cung cấp một phương tiện để chạy lệnh mà không phải mở thiết bị đầu cuối (khi đó, nếu đóng, thường sẽ khiến lệnh bị chấm dứt).
Điều này thường đạt được với Alt+ F2. Một hộp văn bản có nhãn Run lệnh (hoặc tương tự) sẽ xuất hiện và bạn có thể nhập lệnh của mình.
Ví dụ: có vẻ như thế này trong Unity:

Và như thế này trong MATE (Gnome Flashback / Fallback, Xfce, LXDE tương tự nhau):

Lưu ý rằng điều này hoạt động với gksuvà gksudobởi vì họ sử dụng hộp thoại xác thực đồ họa. Nếu bạn nhấn Alt+ F2và chạy sudo ..., thì bạn sẽ không thể tương tác với dấu nhắc mật khẩu.
Với sudo
Nếu bạn không có gói gksu và bạn sẽ không muốn cài đặt nó, bạn có thể sử dụng:
sudo -H gnome-terminal
Các -Hlá cờ rất quan trọng vì nó đặt HOMEbiến môi trường để /rootthay cho thư mục home của người dùng của riêng bạn. Bạn không nên sử dụng sudo gnome-terminalvì nó có thể phá vỡ cấu hình gnome-terminal thuộc về người dùng không root. Để biết thêm thông tin về điều này, xem:
( sudo -i gnome-terminalcũng ổn.)
Loại bỏ các thiết bị đầu cuối không root kiểm soát:
Nếu bạn (1) mở một thiết bị đầu cuối đồ họa, (2) chạy một cái gì đó giống như sudo -H gnome-terminaltrong nó, để tạo một thiết bị đầu cuối gốc đồ họa mới và (3) thoát khỏi thiết bị đầu cuối đồ họa không gốc ban đầu ... thì thiết bị đầu cuối đồ họa gốc cũng thoát khỏi .
Điều này là do thiết bị đầu cuối đồ họa gốc được gửi SIGHUP khi thiết bị đầu cuối sở hữu nó bị thoát.
Để ngăn chặn điều này, bạn có thể nghĩ rằng bạn có thể khởi chạy thiết bị đầu cuối gốc đồ họa với:
sudo -H gnome-terminal &
Nhưng điều này sẽ chỉ hoạt động nếu sudokhông phải nhắc nhập mật khẩu. Nếu vậy, bạn sẽ không thấy dấu nhắc mật khẩu.
Một cách để giải quyết vấn đề này là sử dụng:
sudo -v
sudo -H gnome-terminal
sudo -vtồn tại cho mục đích này. Như đã giải thích man sudo, nó "cập nhật [s] thông tin đăng nhập được lưu trong bộ nhớ cache của người dùng, xác thực người dùng nếu cần thiết."
Lưu ý rằng điều này sẽ vẫn không hoạt động nếu chạy trực tiếp từ hộp Alt+ F2"lệnh chạy" của môi trường máy tính để bàn của bạn , bởi vì bạn vẫn cần một thiết bị đầu cuối để nhập mật khẩu của mình sudo -v.
Hoặc bạn có thể làm theo cách có thể được gọi là cách truyền thống, bằng cách tạm dừng công việc sau khi nó bắt đầu:
- Chạy
sudo -H gnome-terminaltừ thiết bị đầu cuối đồ họa không gốc.
- Nhập mật khẩu của bạn như được nhắc bởi
sudo. Thiết bị đầu cuối đồ họa sẽ bắt đầu.
- Vẫn trong thiết bị đầu cuối không root , nhấn Ctrl+ Zđể tạm dừng thiết bị đầu cuối gốc. Trong khi thiết bị đầu cuối gốc bị treo, bạn không thể sử dụng nó; giao diện của nó sẽ không đáp ứng với hành động của bạn.
- Thoát khỏi thiết bị đầu cuối không kiểm soát với
exit. Công việc thiết bị đầu cuối gốc đồ họa sẽ tự động không bị bỏ qua và bị từ chối bởi thiết bị đầu cuối không gốc.
Nói ngắn gọn:
sudo -H gnome-terminal
^Z
exit
Nhưng giả sử bạn muốn tiếp tục sử dụng thiết bị đầu cuối gốc, không root. Sau đó, bạn có thể chạy , số công việc của thiết bị đầu cuối đồ họa, để tiếp tục công việc ở chế độ nền. Bạn có thể chạy để tìm nhưng có lẽ bạn sẽ không phải - số đó được hiển thị như khi bạn nhấn + . Ví dụ:bg NNjobsN[N]CtrlZ
ek@Ilex:~$ sudo -H gnome-terminal
[sudo] password for ek:
^Z
[1]+ Stopped sudo -H gnome-terminal
ek@Ilex:~$
gnome-terminal. Vì vậy, hãy thửsudo gnome-terminal.