Углубление в параметры ядра. часть 1: загрузочные параметры

6 ответов

Если вам не нравится экран или gpm, ваши альтернативы довольно ограничены. Другие варианты, о которых я могу думать, следующие:

Запускать терминалы под X, возможно, используя диспетчер оконной панели для минималистского, консольного вида.

Запустите * BSD вместо Linux, что позволит вам использовать sysmouse вместо gpm. Я слышал, что это лучше, и мой ограниченный опыт BSD подсказывает, что это может быть лучше, но я не знаю, лучше ли это в области поддержки буфера обмена. Похоже, что вам в основном просто не нравится ваш трекпад, хотя, возможно, он не может быть заменен без замены.

Использовать каналы, именованные каналы, скретч-файлы и т. д. Например, большинство редакторов unix позволят вам обрабатывать выделенный текст с помощью обычных сценариев командной строки, которые могут быть настроены для сохранения выбора в

/.clipboard, например , Запуск команд, которые вводят текст (cat

/.clipboard), должен быть еще проще.

Используйте редактор, который поддерживает несколько файлов и копирует /вставляет их. vim does, и emacs тоже, я уверен.

Вы можете использовать Ctrl + y для вставки. Чтобы скопировать, это зависит от того, что вы хотите скопировать. Если в командной строке: Ctrl + u вырезать с начала, Ctrl + k , чтобы разрезать до конец.

в зависимости от того, что вы пытаетесь скопировать и вставить . bash имеет режим vi, который вы можете редактировать своими командами более похожими на vi, чем emacs (bash по умолчанию) (zsh имеет режим vim). поместив set -o vi в

/.bashrc, включите его.

tmux похож на screen и дает вам возможность копировать-вставить.

dvtm можно скопировать /вставить с помощью мыши.

Если в буфере обмена есть «wa *», он будет выводить это на любом терминале TTY:

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

1) скопировать текст в буфер обмена в TTY7 – GUI 2), тогда я включаю TTY1 и пишу команду: expandclipboard.sh youtube-dl cb 3) скрипт расширяет команду и вставляет содержимое буфера обмена в место cb и запускается.

Я знаю, что это очень примитивно, но я ленив, чтобы притвориться, что я умнее этого сценария. : -)

Вы можете подключиться к другому компьютеру по SSH, это опция =).

Для инстансов EC2 на Ubuntu 14.04 / 16.04 / 18.04 / 20.04

GRUB2 является предустановленным загрузчиком и менеджером для Ubuntu, начиная с версии 9.10. Именно поэтому процесс изменения загрузочных параметров ядра практически такой же, как и для других дистрибутивов Linux с GRUB2, которые мы рассмотрели выше.

В данном случае местоположением файла конфигурации будет /etc/default/grub.d/50-cloudimg-settings.cfg.

Для добавления параметров откройте в редакторе /etc/default/grub.d/50-cloudimg-settings.cfg и измените нужные параметры в GRUB_CMDLINE_LINUX_DEFAULT, как мы делали ранее.

После этого выполните команду update-grub, чтобы повторно сгенерировать уже обновлённую конфигурацию grub:

# update-grub

PS. update-grub — это альтернатива или, так скажем, сокращённая версия команды grub-mkconfig -o /boot/grub/grub.cfg.

Как включить и отключить режим

Как уже можно было понять, включение и выключение телетайп-режима осуществляется через телефонные настройки. Достаточно пройти по указанному выше пути и (если такая функция есть) перевести бегунок в активированное состояние (включено). Соответственно, если режим нужно выключить, бегунок переставляется в положение выключено.

Что необходимо знать, так это то, что у разных моделей мобильных устройств, наименование одних и тех же разделов может не совпадать. Так, например, параметр «Другие настройки» могут значится как «Специальные», «Дополнительные», «Иные» и т. д. Режим телетайпа в основном имеет именно это наименование.

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

Важно! Если функцию нужно активировать на айфоне, то делается это через «Настройки», затем раздел «Основное», «Общий доступ» и «Телетайп». В отличие от андроидов данная программа имеется и на старых моделях «яблочных» гаджетов

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

  1. Настройки смартфона.
  2. Далее следует перейти в блок «Основное».
  3. Выбрать пункт «Общий доступ».
  4. Открыть подраздел «Слух».
  5. Активировать работу функции, установив необходимые параметры.

Разные режимы работы

Подключение к модему и ввод команд

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

  • через служебную программу Виндовс, которая называется «Hyperterminal»;
  • через терминал для операционных систем семейства *nix;
  • используя специальные программы, предоставляемые производителями модемов, например, «My Huawei Terminal» или «Huawei Modem Terminal» для модемов Huawei;
  • посредством программ от независимых разработчиков, например, программа «Терминал» или «PuTTY».

Для подключения терминальной оболочки к модему необходимо знать какой порт используется модемом и какая скорость обмена данными на порте. Для операционных систем Виндовс такую информацию можно получить следующим образом:

  • правой кнопкой нажать на ярлыке «Мой компьютер» и выбрать свойства;
  • откроется новое окно, в котором нужно нажать кнопку «Диспетчер устройств»;
  • в списке установленных устройств найти нужный модем и вывести его свойства;
  • на вкладке «Модем» будет выведена необходимая информация, такая как COM порт и скорость работы.

Эту информацию следует запомнить или записать. Для USB модемов подключение через COM порт будет виртуальным, через эмулятор, но на подключение это не отразится.

Дальше нужно запустить программу эмулятор терминала и подключиться к модему используя уже известные параметры. Стоит отметить, что программа «Гипертерминал» присутствует только в Windows версии XP или младше. В более старших версиях, например, в Висте или Семерке нужно будет скачать ее из интернета. После того как произойдет удачное подключение к модему, появится уведомление об этом в строке приглашения. AT команды модема вводятся только тогда, когда модем находится в режиме терминала или в офф-лайн режиме. Ввод происходит следующим образом:

  • Перед каждой командой обязательно ставится префикс АТ, он как бы и говорит модему о том, что дальше будет идти команда.
  • После префикса ставится соединительный символ «+», «&» или «^».
  • В конце вводится сама команда с параметрами.
  • Ввод завершается путем нажатия кнопки «Ввод» на клавиатуре или «Send» в окне терминала.

Чтобы проверить принимает ли модем команды и происходит ли какая-либо реакция на ввод, достаточно просто отправить ему «АТ» без параметров. Должно появиться в окне терминала следующие строки (в зависимости от модема могут отличаться, но общий принцип вывода не меняется):

Send: AT

Recieve: AT

Status/Recieve: OK

Если вывод приблизительно в таком формате, то можно работать с модемом путем ввода команд. Если в какой-то команде была допущена ошибка, то модем сообщит об этом соответствующим статусом.

Команда tty

В Linux существует мультиплексор псевдо-телетайпов, который обрабатывает соединения со всех терминалов псевдо-телетайпов (PTS). Мультиплексор является ведущим устройством, а PTS — подчиненными. Мультиплексор общается с ядром через файл устройства, расположенный в /dev/ptmx.

Команда tty выводит имя специального файла устройства, который ваш ведомый псевдо-телетайп использует для взаимодействия с ведущим устройством. И это, по сути, номер вашего окна терминала.

Давайте посмотрим, какую информацию выведет команда для нашего окна терминала:

Как видите, мы подключены к специальному файлу устройства /dev/pts/1.

Наше окно терминала, представляющее собой программную эмуляцию телетайпа (TTY), подключено к мультиплексору псевдо-телетайпа как псевдо-телетайп (PTS) под номером 1.

Тихий режим

Опция (silent) приводит к тому, что команда перестает генерировать выходные данные:

Некоторые служебные значения, возвращаемые командой tty:

    — если стандартный ввод поступает с устройства TTY (эмулированного или физического).

    — если стандартный ввод не поступает с устройства TTY.

    — синтаксическая ошибка, использовались неправильные параметры командной строки.

    — произошла ошибка записи.

Данные значения будут наиболее полезны при написании bash-скриптов. Но даже в командной строке мы можем продемонстрировать, как выполнить команду при условии, что вы работаете в окне терминала (сеанс TTY или PTS).

Примечание: Оператор является логическим оператором И. Если в командной строке находится , то выполняется только в том случае, если статус выхода из команды равен , что говорит об успешном её завершении.

Поскольку мы работаем в сеансе TTY, наш код выхода равен (успех), и выполняется вторая команда.

Как использовать команду at

Упрощенный синтаксис команды at выглядит следующим образом:

at  runtime

Команда at берет дату и время ( runtime), когда вы хотите выполнить задание в качестве параметра командной строки, и команду, которая будет выполнена из стандартного ввода.

Давайте создадим задание, которое будет выполнено в 12:00 утра:

at 12:00

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

warning: commands will be executed using /bin/sh
at>

Введите одну или несколько команд, которые вы хотите выполнить:

tar -xf /home/andreyex/file.tar.gz

Когда вы закончите ввод команд, нажмите Ctrl-D, чтобы выйти из командной строки и сохранить задание:

at> <EOT>
job 5 at Tue May  5 12:00:00 2020

Команда отобразит номер задания, время выполнения и дату.

Есть и другие способы передачи команды, которую вы хотите выполнить, помимо ввода команды at в командной строке. Одним из способов является использование echo и передача команды для at:

echo "command_to_be_run" | at 12:00

Другой вариант заключается в использовании здесь документа:

at 12:00 <<ENDcommand_to_be_runEND

Чтобы прочитать команды из файла вместо стандартного ввода, вызовите команду с опцией -f, следующей за путем к файлу. Например, чтобы создать задание, которое будет запускать скрипт /home/andreyex/script.sh:

at 12:00 -f /home/andreyex/script.sh

По умолчанию, если команда выдает результат, atотправит электронное письмо с выводом пользователю после завершения задания. Вызвать at -M с возможностью подавления уведомления по электронной почте:

at 09:00 -M

Используйте -m для отправки электронной почты, даже если нет вывода:

at 09:00 -m

Происхождение подсистемы TTY в UNIX

В мире Unix подключение к компьютерам осуществлялось при помощи терминалов — рабочих мест, оборудованных клавиатурой и устройством вывода информации: в простейшем случае, принтером, а в ходе дальнейшего развития технологий — экраном.

Электромеханические устройства, оборудованные клавиатурой и простым принтером, назывались словом телетайп — teletype, сокращенно TTY. Отсюда и название подсистемы TTY.

Телетайпы были вытеснены терминалами на основе экрана с электронно-лучевой трубкой. Поздние модели видеотерминалов представляли собой специализированные микрокомпьютеры, обладавшие широким набором возможностей, таких как отображение растровой и векторной графики.

В отличие от «умных» терминалов, применявшихся в мейнфреймах, терминалы для Unix-машин были «тупыми». Это означает, что терминалы занимались в основном только тем, что отправляли на машину коды клавиш, нажимаемых пользователем, и выводили на экран (или принтер) информацию, которую присылает машина. Все задачи по «интеллектуальной» обработке информации брала на себя Unix или приложение. Терминал не имел встроенных возможностей редактирования информации или манипулирования структурироваными данными, такими как записи с именованными полями и формы.

Такой подход соответствует принятому в Unix принципу проектирования, согласно которому простые решения предпочтительнее сложных.

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

Еще одной необходимой возможностью является прерывание работы процесса в случае, если он завис или просто стал не нужен. Поскольку операционная система была единственным промежуточным звеном между терминалом и приложением, то задача прерывания процесса по команде пользователя также возлагалась на неё.

Впоследствии были реализованы расширенные возможности управления процессами: остановка группы процессов, переключение между группами процессов. То, что сейчас в документации обычно называется job control.

Таким образом был очерчен круг задач операционной системы при работе с терминалом:

  • Управление каналом связи с терминалом, приём и передача данных. То есть, функции драйвера физического устройства.
  • Поддержка простейших средств редактирования ввода.
  • Поддержка средств управления задачами.

Телепринтеры из 1800-х годов

В 1830-х и 1840-х годах были разработаны машины, известные как телепринтеры. Телепринтер позволял отправителю с помощью специального устройства, напоминающего клавиатуру, набирать сообщения и отправлять их «по проводам» в отдаленные места. По приему, полученный текст распечатывали на бумаге. Это было эволюционным шагом в телеграфии, которая до сих пор использовала только азбуку Морзе и подобные коды.

Перед отправкой сообщение кодировалось, затем передавалось получателю, на месте получения оно декодировалось и распечатывалось. Для кодирования и декодирования сообщений использовалось несколько методов. Самым известным и популярным являлся метод, запатентованный в 1874 году Эмилем Бодо, в честь которого была названа (бод). К слову сказать, его схема кодирования символов на 89 лет опередила появление стандарта ASCII.

Кодировка Бодо в конечном итоге стала наиболее близкой к стандарту кодирования телепринтеров, в связи с чем, она была принята большинством производителей. Оригинальная конструкция оборудования Бодо состояла всего лишь из пяти клавиш, похожих на клавиши пианино. Оператор должен был выучить определенную комбинацию для каждой буквы. Со временем, система кодирования Бодо была объединена с традиционной раскладкой клавиатуры.

В ознаменование этого прогресса машины были названы «телетайпными пишущими машинами» или просто «телетайпами» (англ. teletypes», сокр. от «teletypewriters»). В дальнейшем название урезали до TTY. Вот откуда появилась аббревиатура TTY. Но какое отношение телеграф имеет к вычислительной технике?

Телетайп времен Второй мировой войны

Аппаратно-эмулированные телетайпы

Телетайпы стали стандартным средством взаимодействия с мини-компьютерами и большими мейнфреймами той эпохи.

С течением времени телетайпы были заменены на электронные устройства, которые имитировали электромеханическое строение телетайпов. Но при этом, в этих устройствах вместо рулонов бумаги использовались электронно-лучевые трубки (ЭЛТ), они не тряслись при доставке ответов с компьютера и допускали доселе невозможные функции, такие как: перемещение курсора по экрану, очистка экрана, выделение текста жирным шрифтом и так далее.

Видеотерминал DEC VT05 был ранним примером виртуального телетайпа и предком знаменитого DEC VT100. Продажи DEC VT100 исчислялись миллионами штук.

5.2 Псевдотерминалы

Псевдо терминалы не имеют уникального физического разъема на компьютере.

Они используются для эмуляции последовательного порта. Например, если кто-то соединяется через telnet с вашим компьютером по сети, они могут подсоединиться к устройству /dev/ptyp2 (порт псевдотерминала). В XWINDOWS, программа эмуляции терминала xterm использует псевдотерминалы.

Также его используют программы любительского радио. При использовании некоторого прикладного программного обеспечения можно иметь 2 или более псевдотерминала, присоединенных на один и тот же физический последовательный порт.

Псевдотерминалы образуют пары типа ttyp3 и ptyp3. pty… — это хозяин или управляющий терминал, а tty… — подчиненный. ttyq5 — также псевдотерминал, как — ttysc (с — шестнадцатеричная цифра).

Более точно, главные псевдотерминалы — /dev/ptyn, а соответствующие подчиненные — /dev/ttyn, где n — шестнадцатеричная цифра.

Знакомство с параметрами ядра

Ядро Linux — это сложный элемент ПО, чьё поведение, как и поведение любого другого ПО, зависит от параметров по умолчанию, установленных в коде самого этого ядра. К примерам этого поведения можно отнести то, как ядро управляет диском, памятью или загрузкой системы. Эти параметры определяют поведение Linux, и в целях корректировки поведения системы могут быть изменены как в процессе работы ядра, так и при его загрузке.

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

  1. При загрузке ядра (загрузочные параметры). Эти параметры вызываются через загрузчика ОС.
  2. В процессе работы ядра через псевдо-файловые системы /proc и /sys, используя “sysctl”.
  3. При компиляции (или перекомпиляции) ядра и его подсистем (вроде initrd).

В этой статье я обширно рассмотрел загрузочные параметры ядра, а именно: что это такое и как их можно добавлять, редактировать или удалять. В дальнейших статьях серии я рассмотрю остальные 2 варианта с соответствующими примерами. Я также представлю вам пример проблемы, решённой мной в прошлом, относящийся к третьему варианту, чтобы сформировать полноценное понимание темы.

1. Usage

Create a command instance and then run some commands:

require "tty-command"

cmd = TTY::Command.new
cmd.run("ls -la")
cmd.run("echo Hello!")

Note that will throw an exception if the command fails. This is already an improvement over ordinary shell scripts, which just keep on going when things go bad. That usually makes things worse.

You can use the return value to capture stdout and stderr:

out, err = cmd.run("cat ~/.bashrc | grep alias")

Instead of using a plain old string, you can break up the arguments and they’ll get escaped if necessary:

path = "hello world"
FileUtils.touch(path)
cmd.run("sum #{path}")  # this will fail due to bad escaping
cmd.run("sum", path)    # this gets escaped automatically

Телекс против факса. Что лучше и чем они отличаются?

Хотя верно, что оба устройства имеют схожий внешний вид (учитывая последние телетайпы, поскольку по своим принципам они были большими и тяжелыми) , технологическое различие, которое существует в каждом из них, заключается в очень большой.

Поскольку с помощью telex вы можете отправлять и получать сообщения через встроенную клавиатуру , в то время как с факсом также есть служба обмена сообщениями, но вы можете добавлять изображения, которые первое не поддерживает механическое оборудование.

Кроме того, тексты, сгенерированные в факсе, не создаются на одном устройстве, но для получения письменного сообщения требуется отдельный текстовый компьютер.

Таким образом, мы можем сделать вывод, что сегодня лучше отправлять и принимать сообщения, которые являются телексом, по факсу. Это связано с тем, что вы можете не только отправлять или получать тексты, но и отправлять различные изображения или формы рисунков, которые можно оцифровывать с помощью специального программного обеспечения, и отправлять их по электронной почте.

Настройки ввода

Brkint Обрывы вызывают сигнал прерывания.
icrnl Перевести возврат каретки в новую строку.
ignbrk Игнорировать символы разрыва.
igncr Игнорировать возврат каретки.
ignpar Игнорировать символы с ошибками четности.
* Imaxbel Звуковой сигнал и не сбрасывать полный буфер ввода для символа.
inlcr Преобразовать новую строку в возврат каретки.
inpck Включить проверку четности ввода.
istrip Очистить старший (8-й) бит входных символов.
* iutf8 Предположим, что входные символы имеют кодировку UTF-8.
* iuclc Переводите символы верхнего регистра в нижний регистр.
* ixany Позвольте любому символу перезапустить вывод, а не только стартовому символу.
ixoff Разрешить отправку символов запуска / остановки.
ixon Включите управление потоком XON / XOFF.
Parmrk Отметьте ошибки четности (последовательностью 255–0 символов).
тандем Такой же как ixoff.

Доступ к телетайпу

Вы можете получить доступ к полноэкранному сеансу TTY, удерживая клавиши Ctrl+Alt и нажав одну из функциональных клавиш.

Ctrl+Alt+F3 вызовет приглашение входа на tty3.

Если вы войдёте в систему и введёте команду tty, вы увидите, что подключены к /dev/tty3.

Это не псевдотелетайп (эмулируемый в программном обеспечении); это виртуальный телетайп (эмулируемый аппаратно). Он использует экран и клавиатуру, подключённые к вашему компьютеру, для имитации виртуального телетайпа, как это делал DEC VT100.

Вы можете использовать функциональные клавиши Ctrl+Alt с функциональными клавишами от F3 до F6 и при желании открыть четыре сеанса телетайпа. Например, вы можете войти в tty3 и нажать Ctrl+Alt+F6, чтобы перейти на tty6.

Чтобы вернуться в графическую среду рабочего стола, нажмите Ctrl+Alt+F2.

Нажав Ctrl+Alt+F1, вы вернётесь в окно входа в систему в сеансе графического рабочего стола.

Сочетания клавиш Ctrl+Alt+F1 до Ctrl+Alt+F6 откроются полноэкранные консоли TTY, а Ctrl+Alt+F7 вернёт вас в графическую среду рабочего стола. Такое поведение может быть на более старых дистрибутивах Linux.

Это было протестировано на текущих выпусках Manjaro, Ubuntu и Fedora, и все они вели себя следующим образом:

  • Ctrl+Alt+F1: возврат к экрану входа в графическую среду рабочего стола.
  • Ctrl+Alt+F2: возврат в графическую среду рабочего стола.
  • Ctrl+Alt+F3: открывает TTY 3.
  • Ctrl+Alt+F4: открывает TTY 4.
  • Ctrl+Alt+F5: открывает TTY 5.
  • Ctrl+Alt+F6: открывает TTY 6.

У Kali Linux графический интерфейс открывается при нажатии Ctrl+Alt+F7.

Наличие доступа к этим полноэкранным консолям позволяет людям, использующим установки Linux только из командной строки — а многие серверы Linux настроены таким образом — иметь несколько доступных консолей.

Вы когда-нибудь работали на Linux-машине с графической средой рабочего стола и что-то заставляло ваш сеанс зависать? Теперь вы можете перейти к одному из сеансов консоли TTY, чтобы попытаться исправить ситуацию.

Вы можете использовать top и ps, чтобы попытаться идентифицировать отказавшее приложение, затем используйте kill, чтобы завершить его, или просто используйте shutdown, чтобы попытаться завершить работу настолько изящно, насколько позволяет состояние компьютера.

Что такое телетайп или TTY и для чего предназначены эти устройства?

TTY или телетайп-это устройство, похожее на пишущую машинку . Он имеет буквенно-цифровую клавиатуру, которая позволяет писать сообщения для последующей отправки. Он также позволяет получать печатные сообщения от точки к точке, соединенные телеграфным кабелем для последующей печати. ​​

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

Origin

Это телеграфное устройство возникло в Германии в середине 20-х годов прошлого века . Он использовался для почтовой службы Рейха, с которой можно было передавать чуть более 60 слов в минуту. После окончания Второй мировой войны можно было распространиться на весь мир.

После более чем 50 лет своего создания почтовые службы основных европейских правительств инициировали коротковолновую радиосвязь, стандартом которой было «R.44» принадлежит к «Сектору стандартизации электросвязи МСЭ» . Где передача данных осуществлялась путем деления во времени в соответствии с временными интервалами циклически, что приводило к набору битов.

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

Эволюция и история

Большинство этих телетипов использовали 5-битный код (называемый Baudot или ITA2) , который имел ограничение 32 символа . Где для ввода некоторых специальных символов необходимо использовать эксклюзивные ключи.

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

Поэтому было решено продолжить использование 5-битного кода Бодо , где были созданы специальные версии, чтобы можно было применять их в определенных отчетах, таких как отчеты о погоде.

Почтовые и телеграфные службы, которые не обладали большими финансовыми ресурсами, выполняли свои операции на TOR или телексных каналах , чтобы получить от них большую выгоду. Таким образом, со временем стоимость этого оборудования значительно снижалась, и с 2016 года люди, которые являются радиолюбителями, используют эту коротковолновую систему, известную как RTTY .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Зов электронных книг
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: