COM-мышь в Linux Mint


Век живи, век учись — дураком помрёшь!

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

Пофилосовствовать меня заставила одна небольшая закавыка, в которую в влетел совершенно случайно, найдя в своих запасниках COM-мышь, да не простую, а с шариком и колёсиком:

Я много лет назад не стал её выбрасывать как морально устаревшую, а аккуратно спрятал в коробочку на всякий случай — вдруг пригодиться, раритет этакий. И как в воду глядел: установив 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

3. Делаем этот файл запускаемым: sudo chmod -v +x /etc/rc.local

Ну и после перезапуска всё должно заработать. Однако, не просто так в Linux Mint нет этого файла! Это пережиток и пока он работает в целях совместимости. А загружать скрипты рекомендуется с помощью служб systemd.

1. Для этого в каталоге /lib/systemd/system создаём файл, например, com_mouse.service с помощью команды: sudo touch /lib/systemd/system/com_mouse.service

2. Добавляем туда следующий текст:

[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-порта, а на эту «железку» его даже не поставить.

Кстати, по поводу раритетности данных мышей. Думал, что их достать уже непросто, тем более не в убитом виде, но нет — на Авито можно найти и не такую дичь, в том числе и подобные мыши и даже недорого.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s