Каково различие между этими способами получить доступ к оболочке?

Я не могу помнить, необходимо ли это, но попытайтесь не комментировать соответствующие строки от /etc/bash.bashrc если не уже непрокомментированный, а именно,

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi
2
26.08.2018, 00:06
3 ответа

(1) дает Вам эмуляцию терминала. Программы, такие как Терминал Gnome Konsole называют "эмулятором терминала".

(2) дает Вам реальный терминал. Хорошо, это - все еще эмуляция терминала, но это "более реально", чем (1), потому что эмуляция сделана самим ядром.

(3) на самом деле то же как (2). Когда Вы не будете иметь X, Вы будете видеть tty0, который является тем, что Вы получаете при использовании CtrlAltF1.

(4) удаленная оболочка, которая предназначена, чтобы использоваться от за пределами машины. Для использования SSH конечно, у Вас должно быть сетевое соединение с машиной.

По существу все методы являются тем же, у Вас есть оболочка на машине, которая может выполнить программы. Существуют тонкие различия, например:

  • Поскольку эмулятор терминала работает в GUI, можно выполнить программы GUI от него, и программа GUI будет открыта в ее собственном окне.
  • Поскольку SSH позволяет Вам запускать программы в удаленной машине, он позволяет Вам делать вещи когда далеко от физического сервера.

Необходимо ли видеть то, Что точное различие между 'терминалом', 'оболочкой', 'tty' и 'консолью'? для больше.

9
27.01.2020, 21:49
  • 1
    (2) не является реальным терминалом, это - все еще эмуляция терминала, но прибывающий из самого ядра (который забавен, потому что ядро Linux, развитое из эмулятора терминала). Это - реальный терминал: en.wikipedia.org/wiki/VT100 –  BatchyX 12.01.2013, 18:35
  • 2
    @BatchyX: спасибо, я собирался записать это. Я недавно рассматривал, как 'терминал' потерял свое значение в эти дни. –  Alexios 12.01.2013, 19:20
  • 3
    (4) технически, можно также использовать ssh локально т.е. не используя физическое сетевое соединение. –  jlliagre 12.01.2013, 23:51
  • 4
    @BatchyX Объединенное спасибо :) –  phunehehe 13.01.2013, 10:49

Между этими путями существуют некоторые незначительные различия.

Каждый - когда Вы запускаете эмулятор терминала (Ваши примеры Terminal и Konsole), Вы уже зарегистрированы, в то время как с другими методами (2,3 и 4), необходимо войти в систему сначала и обычно обеспечивать пароль. Это называют оболочкой входа в систему.

Другим различием был бы вид терминала, эмулированного, который мог бы (и вероятно будет) варьироваться между, по крайней мере, (виртуальный или не) консоли и эмуляторы терминала (Терминал, Konsole). ssh будет использовать любой терминал, в котором Вы уже находитесь при запуске его (могло бы быть устанавливаемым, если Вы соединяетесь от графического клиента как шпаклевка). Удобство использования мыши (скопировать/вставить) могло бы также быть недоступным в консольном режиме.

Ssh мог бы туннелировать, X11 так позволит Вам запускать графические приложения как эмуляторы терминала. С консолями не будет видимой графической среды, хотя ничто не запрещает для запуска клиентов X11 на серверах, отображенных в другом месте.

Из тенденции способ получить доступ к оболочке Вы не сделали упомянутый, вход в систему в через последовательную линию.

2
27.01.2020, 21:49
  • 1
    Обратите внимание на это на другом конце, ssh запускает отдельную оболочку, которая использует ее собственный ("псевдо") терминал. –  goldilocks 12.01.2013, 17:14
  • 2
    @goldilocks ssh использует эмулятор терминала от того, где он запускается, не определенный. Не путайте pseudo-tty и эмулятор. –  jlliagre 12.01.2013, 17:42
  • 3
    @jilliagre: я не путаю их, я обращался к pt ('p'seudo-'t'erminal) в удаленной системе. Заглянуть /dev/pts - это - то, где устройства, используемые и локальными эмуляторами терминала и удаленными входами в систему. Ваш локальный эмулятор использует один, затем на удаленной машине sshd использует другого. –  goldilocks 13.01.2013, 14:41
  • 4
    @goldilocks. Вы записали, что ssh использует свой собственный псевдотерминал, таким образом, я предположил, что Ваш комментарий был о моем операторе о ssh использованием того же терминала от того, где Вы запускаете его. Я не сделал упомянул вид устройства, которое оболочка использует для присоединения к эмулятору терминала. Это может действительно быть ttyx, pts/x, ttySx, или возможно что-то еще кроме этого не делает так много различием, что касается пользователя. спасибо –  jlliagre 13.01.2013, 16:38
  • 5
    "ssh использует любой терминал, Вы уже находитесь в", неоднозначно и мог подразумевать, что удаленная оболочка работает на том же устройстве как локальный ssh экземпляр, который это не. Я уверен, что это не то, что Вы имели в виду, но я просто хотел подчеркнуть то, что оконечное устройство (псевдо, виртуальный, безотносительно) на удаленном конце не является тем же как оконечным устройством, с которого Вы запускаете ssh. изменение –  goldilocks 13.01.2013, 16:50

Оболочка является программой, которая обрабатывает команды оболочки (на языке оболочки) от входа и которая может дать операционной системе команду выполнять другие программы различными способами. Это может сделать это в интерактивном контексте путем работы с виртуальным устройством; на Linux они представлены любой путем существования ранее /dev/tty[N] узлы для или динамично созданных узлов VT /dev/pts/[N] для всего остального. "VT" является Виртуальный терминал, и это - консоли не-GUI, к которым можно получить доступ с помощью методов № 2 и № 3. Относительно № 1 (Konsole, и т.д.), это эмуляторы терминала вызываемого абонента (поэтому остерегайтесь различия между "эмулятором терминала" и "виртуальным терминалом"). VT's иногда называют VC ("виртуальные консоли").

Оболочка является не всегда интерактивной, однако; система использует воплощения оболочки для выполнения большого бизнеса. Следует иметь в виду, что нет всего одного экземпляра оболочки, выполняющей это, Вы получаете доступ с помощью любого метода; обычно, каждая точка доступа является различным экземпляром. Таким образом, Вы могли бы различать "оболочку" (абстрактно, программа, которая служит этой цели для системы), и "оболочка" (один экземпляр той программы).

2
27.01.2020, 21:49

Теги

Похожие вопросы