Как настроить поддержку мыши для виртуальных консолей Linux
Я использую Oracle VirtualBox для тестирования различных Unix-подобных операционных систем.
Большинство моих виртуальных машин — это серверы, которые не имеют графической среды рабочего стола.
В течение долгого времени мне было интересно, как мы можем использовать мышь в текстовых терминалах на Linux-серверах.
Благодаря GPM, сегодня я узнал, что мы можем использовать мышь в виртуальных консолях для операций копирования и вставки.
GPM, аббревиатура для General Purpose Mouse, является демоном, который помогает вам настраивать поддержку мыши для виртуальных консолей Linux.
Пожалуйста, не путайте GPM с GDM (диспетчер отображения GNOME).
Оба служат для совершенно разных целей.
GPM особенно полезен в следующих случаях:
- Linux-сервера, которые по умолчанию не могут или не используют систему X-окон, например Arch Linux и Gentoo.
- Использование операций copy / paste в виртуальных терминалах / консолях.
- Использование copy / paste в текстовых редакторах и браузерах (например, emacs, lynx).
- Использование copy / paste в менеджерах текстовых файлов (например, Ranger, Midnight commander).
В этом кратком руководстве мы рассмотрим, как использовать мышь в текстовых терминалах в Unix-подобных операционных системах.
Установка GPM
Чтобы включить поддержку мыши в текстовых системах Linux, установите пакет GPM.
Он доступен в репозиториях по умолчанию для большинства дистрибутивов Linux.
В Arch Linux и его вариантах, таких как Antergos, Manjaro Linux, выполните следующую команду для установки GPM:
На Debian, Ubuntu, Linux Mint:
После установки включите и запустите службу GPM, используя следующие команды:
В системах на базе Debian служба gpm автоматически запускается после ее установки, поэтому вам не нужно вручную запускать службу, как показано выше.
Настройка поддержки мыши для виртуальных консолей Linux
Специальной конфигурации не требуется.
GPM начнет работать, как только вы его установили, и запустите службу gpm.
Посмотрите на следующий снимок экрана моего сервера Ubuntu 18.04 LTS перед установкой GPM:
Как видно из приведенного выше скриншота, на моем Ubuntu 18.04 LTS-сервере нет видимого указателя мыши.
Только мигающий курсор, и он не позволит мне выбрать текст, скопировать / вставить текст с помощью мыши.
В серверах Linux, ориентированных только на CLI, мышь буквально не приносит пользы.
Теперь проверьте следующий снимок экрана сервера Ubuntu 18.04 LTS после установки GPM:
Чтобы выбрать, скопировать и вставить текст, выполните следующие действия:
Чтобы выбрать текст, нажмите левую кнопку мыши и перетащите мышь.
После того, как вы выбрали текст, отпустите левую кнопку мыши и вставьте текст в ту же самую или другую консоль, нажав среднюю кнопку мыши.
Правая кнопка используется для расширения выделения, например, в `xterm ‘.
Если вы используете двухкнопочную мышь, используйте правую кнопку для вставки текста.
Как я уже сказал, GPM работает отлично, и нет необходимости в дополнительной настройке.
Вот пример содержимого конфигурационного файла GPM /etc/gpm.conf (или /etc/conf.d/gpm в некоторых дистрибутивах):
В моем примере я использую USB-мышь.
Если вы используете другую мышь, вам может потребоваться изменить значения параметров device = / dev / input / mice и type = exps2.
Для получения дополнительной информации см. Справочные страницы.
Cinia
Cinnamon и её дистры
Linux для пенсионеров. Наброски к ч. 3. Мышь в консоли и Иксах
Большинство графических сред (и Cinnamon тут не исключение) устроены так, что в принципе позволяют обходиться без мыши: все (или все основные) действия в них могут выполняться с клавиатуры. Однако мышь добавляет комфорта в работе. А в консоли она в некоторых случаях оказывается просто незаменимой.
Тем не менее, в большинстве современных настольных дистрибутивов консольная мышь не поддерживается, что называется, «искапропки» — для её включения требуются некоторые действия. Правда, очень не сложные. Они сводятся к установке пакета gpm , отвечающего за службу консольной мыши, и обеспечения её автоматического запуска при старте системы.
Проще всего служба контрольной мыши включается в любых deb-системах, в том числе и в Linux Mint. Для этого достаточно установить указанный выше пакет:
После этого, переключившись в любую текстовую консоль (напоминаю, что из графического сеанса это делается комбинацией клавиш Alt+Control+F#), в ней можно видеть серый прямоугольник — это и есть курсор консольной мыши.
В более иных дистрибутивах, в том числе и в Altlinux’е, после установки пакета gpm соответствующую службу надо активизировать. Это делает команда
$ sudo systemctl start gpm.service
$ sudo systemctl enable gpm.service
делает службу консольной мыши доступной после перезагрузки системы.
Мышь в консоли не является указательно-позиционирующим устройством — положение обычного курсора, отмечающего точку ввода, на его перемещение не реагирует. Но зато она служит вдля выделения фрагмента экрана и вставки его в позицию обычного курсора. Для чего требуется:
- выделить фрагмент экрана мышью обычным образом, при зажатой левой кнопке — он автоматически скопируется в буфер памяти; нужно только помнить, что копируется при этом аккурат то, что видно на дисплее — выходящие за границы экрана строки в буфер не попадут;
- подвести текстовый курсор к нужному месту стрелками управления оным;
- щелчком средней кнопки мыши вставить содержимое буфера в позицию курсора.
Описанный способ — единственный способ обмена данными между виртуальными консолями. Необходимость чего иллюстрируется примером такой ситуации, ныне достаточно редкой, но временами встречающейся. Предположим, что в силу каких-либо причин графическая среда кгрузиться отказывается — в распоряжении пользователя лишь шесть виртуальных консолей. Для исправления ситуации требуется правка каких-либо конфигурационных файлов. Каковые и открываются в консольном текстовом редакторе, например, в nano . А на параллельной виртуальной консоли открывается соответствующая man-страница, из которой и таскаются нужные для исправления фрагменты.
В современных скроллирующих мышах функцию средней кнопки выполняет колёсико. Если нет ни колёсика, ни средней кнопки (как на большинстве тачпадов и трекболов — она эмулируется одновременным нажатием двух имеющихся. А вот с новомодными «многопальцевыми» бескнопочными тачпадами этот номер не прокатывает: настройки его, выполняемые обычно средствами рабочей среды, в консоли силы не имеют — хотя работают в Иксах.
А в Иксах мышь ведёт себя двояким образом. Во-первых, здесь она становится указательно-позиционирующим устройством, перемещающим обычный курсор, а также служащим для выделения фрагментов и их перемещения способом drag&drop. Кроме того, выделенный фрагмент может быть скопирован (комбинацией клавиш Control+C) или вырезан (Control+X) с помещением в «Иксовый» буфер, а затем вставлен в любое место (с помощью Control+V).
Во-вторых, мышь сохраняет своё «консольное» свойство помещения выделенного фрагмента в собственный «мышиный» буфер, откуда он также может быть вставлен (без всякого копирования) в текущую позицию курсора щелчком средней кнопки.
Такое поведение мыши очень упрощает жизнь в некоторых (не таких уж редких) ситуациях). Например, требуется скопировать в браузере некую ссылку и вставить её в текстовый редактор вместе с текстом, к которому эта ссылка относится. И эту процедуру можно выполнить в «полтора» шага. Сначала курсор мыши наводится на ссылку, и из контекстного меню по правому клику выбирается пункт типа Скопировать адрес ссылки. Затем текст ссылки выделяется и вставляется куда надо щелчком средней кнопки. Псоле чего адрес ссылки вставляется в нужное место комбинацией клавиш Control+V. Этот нехитрый приём экономит массу времени и усилий при составлении оглавлений или каталогов ссылок.
Мышь в консольном режиме?
Задам возможно дурацкий вопрос. но я хочу что бы у меня в консольном режиме работала мышь ))) реально ли сие? например я хочу установить GIMP в чистый debian и не хочу что бы у меня была графическая оболочка, но хочу что бы GIMP работал и я мог в нем рисовать. так же предположим virtualbox.. запустил, поработал, закрыл и опять консоль.. или я опять с ума схожу?(((
а я хочу что бы был нативный directX
Мышь в консоли можно. Гимп без иксов не запустится.
Попробуй ratpoison. Это не совсем то, что ты просишь, но то, что скорее всего тебе нужно.
я хочу что бы у меня в консольном режиме работала мышь
Устонови какой-то маленький оконный менеджер.
установить GIMP в чистый debian и не хочу что бы у меня была графическая оболочка, но хочу что бы GIMP работал и я мог в нем рисовать
Скажи где взял такую траву. Ну или отсыпь.
GPM частично решит твою проблему . Но как будет GIMP работать без графики ?
ITT диалог немых и глухих.
кстати, а GTK2 же может в Framebuffer рисовать. или меня глючит?
я хочу что бы у меня в консольном режиме работала мышь
не хочу что бы у меня была графическая оболочка, но хочу что бы GIMP работал
А куда рисовать-то? А как и чем будет нарисован интерфейс GIMP? Нет, Вы, конечно, можете поставить порт X-сервера на aalib, но это будет жутко неудобно. Какая-то графическая подсистема всё равно понадобится, будет ли это directfb, X-сервер или встроенный в GTK+/Qt механизм отрисовки в фреймбуффер.
Никто не мешает запускать иксы на время работы GIMP или VBox.
Графическую оболочку можешь не ставить, если не хочешь, но иксы тебе понадобятся. Запускать так: startx /path/to/binary — :1
Можно запускать X11 без оконного менеджера, GIMP в однооконном режиме и надеяться на то, что диалоговые окна будут всплывать так, как нужно, но зачем?
не хочу что бы у меня была графическая оболочка, но хочу что бы GIMP работал и я мог в нем рисовать. так же предположим virtualbox.. запустил, поработал, закрыл и опять консоль..
$ X :0 & ; DISPLAY=»:0″ gimp
Возможно после этого понадобится сделать Ctrl+Alt+F7 — не помню.
Как закончишь, сделай Ctrl+Alt+Backspace.
GIMP сам по себе оконный менеджер хоть куда. Вот бы его с емаксом скрестить.