COM-мышь в Linux Mint
Век живи, век учись — дураком помрёшь!
Постоянно всё течёт и всё меняется. Поэтому надо постоянно изучать что-то новое, главное — не увлекаться, ибо тогда на жизнь времени не останется. Но не надо думать, что изучив что-то давно, это знание останется с тобой и будет актуальным. Во-первых, неприменяемые знания вытесняются из памяти быстро, во-вторых, может оказаться что они не такие уж и знания, а скорее пережитки прошлого, которые надо изживать.
Пофилосовствовать меня заставила одна небольшая закавыка, в которую в влетел совершенно случайно, найдя в своих запасниках COM-мышь, да не простую, а с шариком и колёсиком:
Мышь Genius NetScroll+ сверху |
Мышь Genius NetScroll+ снизу |
Я много лет назад не стал её выбрасывать как морально устаревшую, а аккуратно спрятал в коробочку на всякий случай — вдруг пригодиться, раритет этакий. И как в воду глядел: установив FreeDOS, я не смог подключить к нему мышь, поскольку у меня в хозяйстве оказалась только одна PS/2-мышь, которая нужна была в другом месте. А USB-мыши, понятное дело, в DOS не работают. А вот играть в некоторые DOSовские игры без мыши никак не получается. И вот найдя COM-мышь я преспокойненько подсоединил её к этому ПК и во FreeDOS и даже в Windows XP на нём она прекрасно опознавалась и работала. А вот с Linux Mint произошла та самая закавычка…
Линукс вообще не видел COM-мышь. Но это же ерунда, подумал я, и полез по привычке в /etc/X11/xorg.conf
, чтобы там указать применение устройства ttyS0, так же как это предлагается в тысячах статей в интернете, типа этой. Но всё оказалось не так-то просто: мышь не работала от слова совсем. Я перебрал несколько десятков возможных конфигов, с разными флагами — система на них вообще не реагировала, такое впечатление, что Linux Mint вообще не использует настройки Xorg или игнорирует неправильные с её точки зрения…
Вот тут я и подумал про «век живи — век учись…» Пришлось лезть в эти ваши интернеты и искать пути обхода. Хорошо хоть, что выход был сразу найден в статье Бабушкин компьютер: Мыши в com-порту: с помощью команды inputattach
. В первый раз слышу про такую, но оказывается она позволяет подключить через последовательную шину (к коей и относятся COM-порты) подобные устройства. Их там даже целый перечень есть, из которого я выбрал опцию -ms3
, соответствующую Microsoft IntelliMouse. Потому что и в Windows XP она определялась точно с таким же названием драйвера и с этой опцией корректно заработало колесо прокрутки.
Но запуск мыши с помощью костыля — это только половина дела. Вторая половина — заставить работать этот костыль на постоянной основе. Не запускать же это вручную каждый раз при старте ОС? Вариант для обычных пользователей: добавить её в автозагрузку Linux Mint пришлось отбросить — без повышенных привилегий inputattache
работать не будет, ей sudo
подавай. Значит надо добавлять её в систему автозагрузки Linux. Вот за это и не любят обычные пользователи этот ваш Linux: чуть что — надо в командную строку лезть :)
Можно было бы разместить команду запуска в файл /etc/rc.local
. Вариант простейший:
1. Создаем rc.local
в каталоге /etc
: sudo touch /etc/rc.local
(по умолчанию в Linux Mint отсутствует этот файл).
2. Добавляем в него текст:
#!/bin/sh
# enable com-mouse
inputattach -ms3 /dev/ttyS0
# exit!
exit 0
Делаем этот файл запускаемым: sudo chmod -v +x /etc/rc.local
Ну и после перезапуска всё должно заработать. Однако, не просто так в Linux Mint нет этого файла! Это пережиток и пока он работает в целях совместимости. А загружать скрипты рекомендуется с помощью служб systemd
.
3. Для этого в каталоге /lib/systemd/system создаём файл, например, com_mouse.service с помощью команды: sudo touch /lib/systemd/system/com_mouse.service
4. Добавляем туда следующий текст:
[Unit]
Description=COM Mouse Service
After=multi-user.target
[Service]
Type=idle
ExecStart=inputattach -ms3 /dev/ttyS0
[Install]
WantedBy=multi-user.target
3. Назначаем нужные права: sudo chmod 644 /lib/systemd/system/com_mouse.service
4. Перезагружаем конфигурацию служб: sudo systemctl daemon-reload
5. Разрешаем запуск нашей службы: sudo systemctl enable com_mouse.service
Перезагружаемся и всё тоже должно заработать. И если бы дело касалось не высосанной из пальца проблемы, то можно было бы посетовать на невероятную сложность Linux для пользователя (поэтому и не хочется добавлять на эту статью ссылку в цикл «Линукс обычного пользователя«), тем более что в DOS и в Windows XP мышь заработала без проблем, буквально «из коробки». Хотя это сравнение тут не совсем уместно, ибо эта мышь как раз современник этих ОС-динозавров. А вот если её в Windows 11 воткнуть — вот тут и надо было сравнивать. Жаль что в моём ПК с Windows нет COM-порта, а на эту «железку» его даже не поставить.
Кстати, по поводу раритетности данных мышей. Думал, что их достать уже непросто, тем более не в убитом виде, но нет — на Авито можно найти и не такую дичь, в том числе и подобные мыши и даже недорого.
- dukeyusupov
- 0
- 634