- Без мыши
- Материал из Xgu.ru
- Содержание
- [править] Программы
- [править] Оконные менеджеры
- [править] Консольные приложения
- [править] Графические приложения с текстовым интерфейсом
- [править] Совсем без мыши
- [править] Программное управление положением мыши
- [править] Отключение курсора
- [править] Запуск X Window без мыши
- [править] Мышиный одометр
- [править] Буфер обмена
- [править] Основы
- [править] Буфер обмена и X11-forwarding
- [править] Буфер обмена и XMPP
- [править] Vim
- [править] Vimperator
- [править] Устройства
- [править] Дополнительная информация
- [править] RSI из-за мыши
- Горячие клавиши Linux
- Общесистемные горячие клавиши
- Комбинации клавиш системы X-Window
- Комбинации клавиш среды KDE
Без мыши
Материал из Xgu.ru
|
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной. |
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.
Короткий URL: mouseless
Здесь рассматриваются программы и техники, которые могут помочь обойтись без мыши или минимизировать её использование при работе в UNIX/Linux-системе.
Большинство операций, которые выполняются с помощью мыши, могут быть сделаны и без неё, часто даже быстрее и проще, при помощи специальных комбинаций клавиш или с использованием специальных программ и техник.
Первый способ обычно проще — достаточно выучить клавиатурные комбинации (keyboard shortcuts). Второй более радикален и более трудоёмок, но может быть и более эффективным.
Содержание
[править] Программы
[править] Оконные менеджеры
- xmonad — тайловый оконный менеджер для X Window System, ориентированный на использование клавиатуры.
- wmii — оконный менеджер для X Window System, ориентированный на использование клавиатуры.
- GNU Screen — текстовый оконный менеджер.
- ratpoison — оконный менеджер, созданный на базе GNU Screen, не требующий мыши.
- Quicksilver (Mac OS X) — инструмент, превращающий клавиатуру в сверхмощный пульт управления системой.
- Katapult и подобные — им далеко до Quicksilver, но они работают под Linux и другие Unix, а не только Mac OS X
[править] Консольные приложения
Не использовать мышь это не то же, что не сидеть в иксах. Многие задачи в чистой консоли делать невозможно, а многие — неудобно. Однако, в то же время существует большое количество консольных приложений, намного превосходящих по возможностям графические аналоги.
- a day without x (англ.) — статья, где автор пытается прожить один день без X-сервера. Если не обращать внимания на то, что для него подвиг то, что для многих многолетняя привычка, то что скриншоты сделаны из-под иксов, а также то, что постинг написан при помощи браузера Firefox из-под Windows, он сделал неплохую работу. В любом случае, список приведённых им приложений достоин внимательного изучения.
В комментариях к статье много интересного:
[править] Графические приложения с текстовым интерфейсом
Некоторые программы, которые на первый взгляд, использовать без мыши невозможно, могут быть исправлены так, что мышь оказывается в них совершенно ненужной. При этом программы полностью сохраняют свою функциональность.
- Vimperator — браузер Firefox (Iceweasel) с интерфейсом Vim;
- Conkeror — браузер Firefox (Iceweasel) с интерфейсом Emacs;
- Muttator — почтовый клиент Thundebrid с интерфейсом Mutt.
[править] Совсем без мыши
В большинстве случаев, когда вы используете правильные программы, такие как wmii, Vimperator, GNU Screen, mutt, freetalk и им подобные, вы можете прекрасно обходиться без мыши, но есть некоторые ситуации, когда совсем без мыши всё же сложно.
Особенно, это касается работы с графическими приложениями, такими например как GIMP.
Как можно было бы решить указанную проблему? Нужна программа, которая размечала бы экран сеткой и присваивала каждому квадрату координату, обозначаемую символом.
Координаты могут быть присвоены, например, так:
Затем, когда нажимается первый символ, размечается следующий квадрат и так далее, пока мышь не будет спозиционирована как надо.
Если предположить, что на экране всего 1280×1024 точек, и при каждой итерации он разбивается на 12 секций, то получается, что потребуется не более ln(1280×1024)/ln(12)=5.66 нажатий, для того чтобы точно спозиционировать мышь. А если на 20, то для экрана такого размера достаточно и 4.7 нажатий. В действительности, такая точность позиционирования нужна редко, а для того чтобы спозиционировать с точностью до прямоугольника 20×20 будет достаточно и 3х.
При относительном позиционировании, то есть, сдвиге, нажатий может быть ещё меньше.
Существует программа keynav, которая умеет работать с такой сеткой. По умолчанию она разбивает экран сеткой из четырёх частей, что не очень удобно.
Вот конфигурационный файл для разбиения экрана на каждой итерации на 16 частей с привязкой клавиш, указанной выше:
Однако у keynav при всех его вкусностях, не хватает многих возможностей, из-за которых использовать его всё же сложно.
Что можно было бы в него добавить?
- Относительное позиционирование (то есть курсор перемещается не в абсолютную точку, а относительно его текущей позиции). Иногда нужно мышь передвинуть чуть-чуть вправо или чуть-чуть влево, и теоретически должно хватить одной клавиши, а тут надо заново идти и позиционировать мышь;
- Позиционирование в пределах текущего окна. Часто бывает нужно просто кликнуть мышью в какую-то точку, которая находится в текущем окне. Тогда позиционирование по всему экрану избыточно.
- Отмена выбора области. При выполнении абсолютного позиционирования, если вы быстро выбираете нужный квадрат, то вы можете легко ошибиться (особенно, сначала, когда вы только привыкаете к такому способу управления), и тогда неплохо было бы сделать отмену и вернуться на шаг назад.
[править] Программное управление положением мыши
Для того чтобы программно переместить мышь в произвольную точку, можно использовать инструмент xdotool.
Переместить мышь в точку с координатами (100,200):
Этот скрипт крутит мышкой по кругу (сплюснутому):
Это если вам не будет хватать движения на экране.
Этот скрипт рисует на экране слово «Linux» написан для использования на http://chatroulette.com/
[править] Отключение курсора
Если вы всё равно не используете мышь, зачем вам нужен её курсор?
Программа unclutter скрывает курсор мыши, если им не двигать на протяжении 5 секунд.
Величину интервала неактивности можно регулировать при помощи опций программы.
[править] Запуск X Window без мыши
Если X Window System не хочет работать быз мыши, можно добавить в конфигурационный файл:
[править] Мышиный одометр
Мышиный одометр может помочь контролировать себя и оценить, насколько хорошо удаётся избегать использования мыши.
Мышиный одометр это программа, которая подсчитывает, сколько километров наездила мышь по столу за определённый интервал времени (например, с момента запуска программы, но не обязательно).
Популярные мышиные одометры:
[править] Буфер обмена
Буфер обмена — одно из важнейших приспособлений для обмена информацией между приложениями, с которыми работает пользователь. Уметь владеть искусством занесения и извлечения информации из буфера обмена без мыши очень важно, поскольку это заметно сокращает случаи использования снаряда и существенно ускоряет процесс работы.
[править] Основы
С мышью текст, скопированный в буфер обмена X Window System (в действительности в X Window System нет никакого буфера обмена, а есть скорее механизм обмена, который координирует X-сервер; когда говорят «буфер обмена в X Window», как правило, подразумевается этот механизм), вставляется при помощи нажатия средней кнопки мыши, колёсика мыши или двух кнопок нажатых одновременно.
Вставить текст без мыши можно с помощью комбинации Shift—Insert.
Если нужно скопировать текст из файла в буфер обмена, можно использовать программу xsel. На той же странице рассказано как можно ухитриться и быстро засовывать в буфер обмена адреса URL и прочие вещи, описываемые регулярными выражениями.
В desktop-менеджерах есть свои собственные инструменты для доступа к буферу обмена. Например, в KDE:
В Mac OS X аналогичная задача решается при помощи программ pbcopy и pbpaste.
Можно копировать в буфер обмена текст из консоли, если вы сидите в screen (а сидеть в нём имеет смысл), по методу, описанному в [1]. Кратко, идея заключается в том, чтобы дублировать буфер обмена screen в буфере обмена X Window через привязку соответствующих действий к соответствующим клавишам.
[править] Буфер обмена и X11-forwarding
Копирование не всегда может происходить локально. Вы можете работать в удалённой системе, и вам может понадобиться скопировать в буфер обмена текст из той системы.
Это можно сделать даже при помощи xsel, но для того чтобы такой метод работал, необходим X11-forwarding.
После этого в буфере обмена хоста host1 будет сообщение privet host1, несмотря на то, что команда была выполнена на хосте host2.
Для связи с X-сервером, работающем на клиентском компьютере, используются переменные окружения, которые автоматически устанавливаются при входе на удалённый хост.
Если же после подключения выполняется подключение к screen, переменные теряются, и для того чтобы передавать данные удалённому X-серверу, их нужно восстановить (это, кстати, касается и ситуации, когда вы не подключаетесь удалённо, а подключаетесь локально к сеансу screen, который запускался на виртуальном терминале или в X’ах, но он пережил X-сервер, под которым вы его запускали).
/bin/sx, который можно использовать для подключения к сеансу GNU Screen:
После этого в файле
/.sx находятся нужные нам переменные окружения. Их можно использовать тогда, когда мы хотим передать данные X-серверу.
/bin/url передаёт в буфер обмена последний URL, который был прислан в freetalk. Скрипт использует файл
/.sx, если может прочитать его, для того чтобы знать параметры SSH-соединения:
Последний URL скопируется из истории freetalk в буфер обмена, если вызвать команду url.
[править] Буфер обмена и XMPP
Другой способ передачи данных в буфер обмена по сети — использование XMPP.
Создаётся JID, который является точкой входа в ваш буфер обмена. Данные, отправленные по этому адресу, автоматически попадают в локальный буфер обмена.
Вот простейший пример такого скрипта, написанного на Ruby и использующего библиотеку xmpp4r.
Этот скрипт можно запускать при старте X-сервера, например, добавив в
Вместо my-clipoard@jabber.ru указывается JID, являющейся точкой входа в буфер обмена, а вместо password — пароль для подключения.
Отправлять текст из удалённой системы можно, например, с помощью sendxmpp или другим способом.
[править] Vim
Из редактора Vim можно копировать текст в буфер обмена X Window System без использования мыши. И наоборот, текст, находящийся в буфере обмена X Window System, можно вставлять в Vim операциями вклейки [2].
Буфер обмена X Window отражён на буфер * или + редактора Vim. Для обращения к определённому регистру в Vim необходимо нажать символ " и название этого регистра.
Например, скопировать строку в буфер обмена X Window можно командой:
(кавычки, звёздочка, два раза y).
Если вы уже находитесь в режиме вставки, то ctrl-r * (но если не включить set paste, текст в этом случае вставится лесенкой).
Для того чтобы всё это работало, vim должен быть собран с поддержкой xterm_clipboard:
Вклеивать текст можно и традиционным shift-insert, но при этом надо делать множество лишних операций:
- :set paste
- i для перехода в режим вставки
- shift-insert
- Esc для выхода из режима вставки
- :set nopaste
Конечно, это не может сравниться с нажатием "*p.
[править] Vimperator
URL, находящийся в буфере обмена, можно вклеить непосредственно в Vimperator буквой P. Он откроется в новом табе.
[править] Устройства
- Foot Mouse (Footime) — ножная мышь. Управление происходит при помощи ног
- Griffin Technology PowerMate — многие вещи, которые вы привыкли делать при помощи мыши, намного удобнее и быстрее делать при помощи этого девайса
- VIM — жестокий и беспощадный (рус.) — жестокое устройство для переключения режима работы Vim ногой
[править] Дополнительная информация
[править] RSI из-за мыши
Что такое RSI и как с ним бороться:
- RSI (англ.)
- 10 Simple RSI Prevention Tips (англ.)
- Of Mice and Men — Mice and RSI (англ.) — RSI связанный с мышью
- REAL Ergonomics- Mouse Vs Trackball Vs Touchpad (англ.) — сообщение в списке рассылки, посвящённом эргономике, с развёрнутой критикой мышей
- Track Pads vs Track Ball vs Mouse (англ.) — спор на тему того, что лучше тачпад или мышь
Источник
Горячие клавиши Linux
В далеком 1963 году Дуглас Энгельбарт изобрел манипулятор «мышь», который через двадцать с лишним лет стал неотъемлемым атрибутом каждого писишника. Мышь начала распространятся с появлением графического интерфейса пользователя. Прототипом современного GUI (Graphic User Interface) послужил интерфейс компа Apple, в котором были воплощены современные принципы: иконки, меню, принцип Drag-and-Drop. Современные юзеры не представляют работу без мыши, с появлением которой работа с компом.значительно упростилась. Графический интерфейс Линукс также использует мышку, однако в Линукс существуют такие операции, которые невозможно выполнить при помощи мыши, к примеру, переключение между консолями.
В данной записи мы поговорим о горячих клавишах в Линукс, не зная которых вы просто не сможете полноценно работать в операционной системе.
Горячие клавиши условно можно разделить на следующие группы:
- Общесистемные горячие клавиши
- Комбинации клавиш для работы в консоли
- Комбинации клавиш системы X-Window
- Комбинации клавиш среды KDE
Общесистемные горячие клавиши
Все мы знаем «комбинацию из трех пальцев»: Ctrl + Alt + Del. В Виндовс она юзалась для вызова окна процессов. Повторное нажатие Ctrl + Alt + Del перезагружало компьютер. В Линукс реакция на нажатие данной комбинации задается в файле /etc/inittab:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
Параметр –r now команды shutdown означает, что систему надо перезагрузить (-r) сейчас же (now). У вас может стоять другая команда, к примеру, reboot или же вообще реакция на Ctrl + Alt + Del может быть отключена.
Следующая общесистемная комбинация клавиш – это Ctrl + Alt + Backspace. Нажатие данной комбинации клавиш приведет к перезагрузке сервера X Window, если он запущен.
Комбинации клавиш для работы в терминале
Виртуальных консолей в Линуксе может быть несколько (обычно 6). Переключаться между ними позволяют комбинации клавиш Alt + Fn, где n – это номер консоли. Однако эта комбинация клавиш будет работать только, если вы сейчас работаете в консоли, а не в KDE или другой графической среде. К примеру, вы сейчас работаете в консоли 1, а вам следует переключить на консоль 4, тогда нажмите сочетание клавиш Alt + F4, для обратного переключения нажмите Alt + F1.
Нажатие комбинации Alt + F7, как правило, переключает вас в графический режим – систему X Window.
Клавиша Tab в консоли (или терминале системе X Window) реализует автозаполнение командной строки. Предположим, что вы забыли точное имя команды, при помощи которой запускается нужная вам программа. Введите начальные буковки команды и нажмите Tab – система сама дополнит командную строку. Если после нажатия Tab вы услышите звуковой сигнал, значит, возможных вариантов несколько, к примеру, вы ввели da, а система нашли две (или более) команды, которые начинаются на “da”, и она не знает, какую команду надо «вписать» в командную строку. В данном случае нажмите еще раз Tab, чтобы увидеть весь список команд, которые начинаются на “da”.
Вы нашли нужную вам команду, ввели ее, программа вывела на экран какую-то информацию. Но вывод программы оказался настолько объемным, что не поместился на экране. Можно, конечно, перенаправить вывод в файлик или программу less, но если данный вывод вы не будете юзать в дальнейшем, не надо этого делать. Просто листайте его при помощи комбинаций клавиш Shift + PgUp и Shift+PgDn.
Комбинации клавиш системы X-Window
Сейчас вы наслаждаетесь работой в X Window. Но порой надо переключиться в консоль, ввиду того, что графический терминал вам просто надоел. Это можно проделать при помощи комбинации клавиш Ctrl + Alt + Fn, где n – это номер консоли (1..6). Обратно переключиться можно при помощи комбинации клавиш Alt + F7.
Для изменения разрешения монитора вам не надо запускать никакой конфигуратор. Просто нажмите Ctrl + “+” (на цифровой клавиатуре) для увеличения разрешения (до максимально допустимого) или Ctrl + “-“ (на цифровой клавиатуре) для уменьшения.
Небольшой совет: если у вас слабенькая плата (к примеру, RivaTNT2 Vanta 8MB) и любимая игрушка (ясное дело – tuxracer) «тормозит», уменьшите разрешение до 640×480.
Поскольку в «чистой» системе X Window с ее классическими менеджерами окон практически никто не работает, смысла рассматривать дополнительные комбинации клавиш я не вижу. Перейдем сразу к KDE.
Комбинации клавиш среды KDE
Компания Майкрософт предлагает начать работу в Виндовс с нажатия клавишу Пуск (Start). В KDE для этого используется кнопочка с надписью K (точнее с логотипом самого KDE). Если у вас большой монитор (дюймов этак 19 или больше) и вам лень тянуть мышь (которую вы забыли почистить) из верхнего правого в нижний левый угол, нажмите Alt + F1, и меню KDE появится в текущей позиции указателя мыши.
Если вам следует запустить одну команду, вряд ли для этого надо запускать терминал (при условии, что вызываемая программа графическая), нажмите Alt + F2 для открытия окна запуска программы – введите команду или выберите ее из списка и нажмите Выполнить.
Рис. 1. Окно запуска программы
Переключаться между запущенными программами можно при помощи комбинации клавиш Alt + Tab – как в Windows. Если на рабочем столе – хаос, значит, пришло время перейти на другой рабочий стол. Переключаться между рабочими столами можно при помощи комбинации клавиш Ctrl + Tab или Ctrl + Fn, где n – это номер нужного вам рабочего стола. Помните, что комбинация клавиш Alt + Tab работает только в пределах текущего рабочего стола. Если у вас на первом рабочем столе запущено десятка два прог, а на втором – ни одной, при нажатии Alt + Tab на втором столе вы увидите сообщение «Нет задач».
Просмотреть весь список задач можно, нажав комбинацию Alt + F5. Если вам «не понравился» какой-то процесс, его можно «убить», вызвав менеджера задач (комбинация клавиш Ctrl + Escape).
Раскладка клавиатуры не переключается обычным способом? Не помогает, ни Ctrl, ни Ctrl + Shift? Тогда нажмите сочетание клавиш Ctrl + Alt + K. Это комбинация сработает в KDE всегда.
Комбинации клавиш для работы с буфером обмена самые обычные – Ctrl + C (копировать), Ctrl + X (вырезать) и Ctrl + V (вставить). Кроме этих трех комбинаций, KDE предоставляет пользователю еще две:
- Ctrl + Alt + V – показать меню буфера обмена
- Ctrl + Alt + R – «ручная» работа с буфером обмена
А как же работа с окнами? Комбинация Alt + F4, как и в Виндовс, закрывает окно, а Alt + F3 – выводит меню действий с окном.
Очень полезной является комбинация Ctrl + Alt + Esc, вызывающая программу xkill. После ее вызова указатель мышки превращается в череп с косточками. Щелкнув «черепом» по какому-то окну, оно будет уничтожено, даже если программа зависла. Для выхода из программы xkill без уничтожения окна нажмите Esc.
В Виндовс можно было сфотографировать экран, нажав клавишу Print Screen. В Линуксе тоже это можно сделать, но для фиксации всего рабочего стола надо нажать Ctrl + Print Screen, а активного окна — Alt + Print Screen. После чего скрин будет помещен в буфер обмена и его можно будет вставить в любое KDE-приложение, поддерживающее работу с графикой. Однако я рекомендую делать снимки экрана специальными программами, к примеру, ksnapshot. Полученные при помощи данной программы снимки экранов будут намного качественнее, чем снимки, полученные предложенным выше способом, а также они будут занимать мало места на диске (потому что программа ksnapshot использует формат PNG).
Как изменить комбинации клавиш в KDE? Откройте Центр управления и перейдите в раздел Внешний вид, Горячие клавиши (или Привязки клавиш – во второй версии KDE).
Рис. 2. Привязки клавиш
В данный момент подытожим и создадим таблицу с комбинациями клавиш. Распечатайте ее и используйте до тех пор, пока не выучите нужные вам в повседневной работе комбинации.
Источник