суббота, 12 мая 2012 г.

Памятка по ключам программы screen


Открыл для себя линуксовый screen.

Это настолько фантастическая штука, что странно, как я жил без неё. Немного усилий, и получаем "вечные" консольные сеансы, не зависящие от того, откуда мы с ними работаем - через SSH или локально, через Gnome Terminal. И программы не завершаются после отключения от SSH. Всего-то надо запомнить девять строчек, практически полностью покрывающих все варианты использования:

screen -S имя_сеанса [команда] - запуск команды/оболочки в отдельном не-фоновом сеансе (S - session name)
кнопки Ctrl-A, D - свернуть текущий активный сеанс в фоновый режим (D - detach)
screen -r имя_сеанса - вытащить сеанс "имя_сеанса" из фонового режима (r - restore)
screen -r - восстанавливает фоновый сеанс, либо показывает их список если фоновых сеансов несколько
screen -ls - показать список запущенных сеансов, и фоновых и активных (функционал покрывается предыдущей командой)
screen -d имя_сеанса - свернуть сеанс "имя_сеанса", открытый в другой консоли (d - detach)
screen -dr имя_сеанса - утащить сеанс из другого терминала и открыть его в этом (detach, restore)
screen -mdS имя_сеанса [команда] - создать сеанс, запустить в нём команду и свернуть в фон (m - make)
кнопки Ctrl-A, ? - показать хелп по доступным комбинациям клавиш

При управлении сервером только через SSH, вполне достаточно запомнить первые четыре строчки (выделены синим).

пятница, 23 сентября 2011 г.

Выделение "Shift + стрелка" при помощи клавиш NumPad

В Windows при выделении текста методом "Shift + стрелка", нет существенной разницы, используется ли стрелка или клавиша NumPad. В линуксе, к сожалению, есть. Если использовать NumPad, вместо выделения текста будут вводиться цифры. Это неудобно и дезориентирует.
Для исправления ситуации необходимо следующее. Создаём в рабочем каталоге файл .Xmodmap нижеследующего содержания:

keycode 79 = Home
keycode 80 = KP_Up
keycode 81 = KP_Prior
keycode 83 = KP_Left
keycode 84 = KP_Begin
keycode 85 = KP_Right
keycode 87 = End
keycode 88 = KP_Down
keycode 89 = KP_Next
keycode 90 = Insert
keycode 91 = Delete

Затем в автозапуск ставим команду:
$ xmodmap ~/.Xmodmap


К сожалению, данный метод для меня сродни шаманству, поэтому я не смог решить схожую проблему со "сбрасыванием состояния кнопки Shift, если она нажималась в составе комбинации Alt-Shift (переключение раскладок)". В Windows, если после английского слова необходимо ввести русское с заглавной буквы, мне достаточно удерживая Shift коротко нажать Alt и начать набор текста. В линуксе клавишу Shift после переключения раскладок обязательно надо отпустить и нажать ещё раз, поскольку её статус "нажатости" оказывается утерян.
Буду так же благодарен, если мне расскажут, как эти настройки сделать глобальными для всей системы.

Update:
Нарыл ещё одно решение. Явно более правильное, но тоже не абсолютное.
Меню System -> Preferences -> Keyboard
Закладка Layouts, кнопка Options.
Раздел Miscellaneous Compatibility Options.
Параметр "Shift with numeric keypad keys works as in MS Windows" - включить.
Работает достаточно неплохо, если не в консоли. В консоли нажатие shift+стрелка начинает выводить буквы.

среда, 21 сентября 2011 г.

Сброс забытого администраторского пароля Ubuntu при физическом доступе к компьютеру

Если на компьютере нет мультизагрузки, меню Grub2 по умолчанию не показывается. Чтобы заставить его показаться, надо загрузиться с нажатым Shift.
В меню надо выбрать пункт "Режим восстановления" / "Recovery Mode" (второй в списке). Затем, в Recovery Menu надо выбрать пункт "Drop to root shell prompt" (он последний в списке, возможно список для этого нужно будет прокрутить вниз).
Оказавшись в рутовой консоли надо дать команду
# passwd имя_пользователя
где имя_пользователя - это пользователь, имеющий права администратора.
Если вы не знаете список пользователей этого компьютера и не знаете, какие из них имеют права администратора, воспользуйтесь соответствующей инструкцией.
После ввода пароля, компьютер можно перезагрузить командой reboot.
Примечание: в системах, предполагающих администрирование под пользователем root, для восстановления пароля рута используется аналогичная схема, только имя пользователя в команде passwd указывать не требуется.