Рейтинг:2

Как отключить вставку средней мыши в Ubuntu автоматически при запуске

флаг us

Я пытаюсь запустить скрипт при запуске, чтобы мне не приходилось каждый раз делать это вручную, при постоянно открытом окне терминала.

Это сценарий: анти-midmouse-paste.sh

#!/бин/баш

пока (правда)
делать
    эхо -n | xsel-н-я
    спать 0,5
сделано

Это скрипт, который я нашел в Интернете, который очищает выделенный скопированный текст. Он работает безупречно, когда я регулярно запускаю его с: sh анти-мидмыши-паста.ш

Однако, когда я ввел скрипт в /etc/systemd/system с помощью nano, похоже, он не работает при запуске (несмотря на то, что он включен с помощью sudo systemctl включить защиту от промежуточной мышиной пасты), ни когда я запускаю скрипт с помощью sudo systemctl запустить антимидмаус-пасту. я сделал чмод + х как в файле .service, так и в файле .sh.

Вот содержимое .service:

[Ед. изм]
Description=Прекращает работу пасты промежуточной мыши.

[Оказание услуг]
ExecStart=/usr/local/bin/anti-midmouse-paste.sh #в этой строке указываем путь к скрипту.
Тип=простой
Перезапуск = при сбое
Рестартсек=10
KillMode=процесс

[Установить]
WantedBy=многопользовательская.цель

И когда я проверяю sudo systemctl статус анти-midmouse-paste.service:

▪ anti-midmouse-paste.service — останавливает работу пасты middlemouse.
         Загружено: загружено (/etc/systemd/system/anti-midmouse-paste.service; включено; предустановка поставщика: включена)
         Активно: активно (работает) с пятницы 15.10.2021 19:59:44 CEST; 27 минут назад
       Основной PID: 889 (антимидмышь-p)
          Заданий: 2 (лимит: 19018)
         Память: 2,4 М
         CGroup: /system.slice/anti-midmouse-paste.service
                 • 889 /bin/bash /usr/local/bin/anti-midmouse-paste.sh # в этой строке указываем путь к скрипту.
                 ââ18219 сна 0,5
    
    15 октября 20:27:01 Пользователь anti-midmouse-paste.sh[18202]: xsel: Не удается открыть дисплей: (null)
    15 октября 20:27:01 Пользователь anti-midmouse-paste.sh[18202]: : Неподходящий ioctl для устройства
    15 октября 20:27:01 Пользователь anti-midmouse-paste.sh[18206]: xsel: Не удается открыть дисплей: (null)
    15 октября 20:27:01 Пользователь anti-midmouse-paste.sh[18206]: : Неподходящий ioctl для устройства
    15 октября 20:27:02 Пользователь anti-midmouse-paste.sh[18210]: xsel: Не удается открыть дисплей: (null)
    15 октября 20:27:02 Пользователь anti-midmouse-paste.sh[18210]: : Неподходящий ioctl для устройства
    15 октября 20:27:02 Пользователь anti-midmouse-paste.sh[18214]: xsel: Не удается открыть дисплей: (null)
    15 октября 20:27:02 Пользователь anti-midmouse-paste.sh[18214]: : Неподходящий ioctl для устройства
    15 октября 20:27:03 Пользователь anti-midmouse-paste.sh[18218]: xsel: Не удается открыть дисплей: (null)
    15 октября 20:27:03 Пользователь anti-midmouse-paste.sh[18218]: : Неподходящий ioctl для устройства

Как видите, там написано, что скрипт загружен и запущен. Но логи показывают то, чего я не понимаю и нигде не нашел. По-видимому, это как-то связано со мной, используя xsel.

Надеюсь, кто-то может понять это и помочь. Заранее спасибо.

vanadium avatar
флаг cn
Пожалуйста, запускайте скрипт только после того, как вы вошли в систему. До этого буфера обмена нет, поэтому xsel ничего не может сделать.
флаг hr
Да, это звучит как что-то, что было бы более подходящим приложением для запуска — см., например, [Как мне запускать приложения автоматически при входе в систему?] (https://askubuntu.com/questions/48321/how-do-i-start- приложения автоматически при входе в систему)
флаг us
Ух ты. Спасибо вам обоим. Вчера я потратил часы, пытаясь сделать это, как указано выше, но создание файла .desktop в ~/config/startup/ заняло минуты и работает потрясающе. Если кто-то найдет этот пост в будущем, желая сделать то же самое, я отредактирую свой пост так, как я это сделал.
Will avatar
флаг id
@WhiteApe, не могли бы вы отредактировать свой вопрос и поместить большую его часть в качестве ответа вместе с решением для запуска? Это было бы полезно другим людям в качестве ответа.
флаг us
@Will Конечно, я так и сделал. Я постарался сделать руководство максимально простым, чтобы даже я мог его понять.
Will avatar
флаг id
@WhiteApe - извините, я хотел сказать это как ответ, а не оставить как вопрос - я думаю, вы ответили на него хорошо! То, что вы написали, это здорово, это просто все в вопросе, а не в ответе, поэтому любой, кто ищет это, с первого взгляда не поймет, что есть ответ - это похоже на вопрос без ответа. Надеюсь, это имеет смысл!
флаг us
@Will А, да, ты прав. Вернули сообщение к тому, что было сначала, и вместо этого разместили ответ. Я отмечу свой ответ как «Принятый» как можно скорее.
Рейтинг:2
флаг us

Это руководство о том, как автоматически отключить среднюю вставку мыши в Ubuntu при запуске. Раньше это был пост с просьбой о помощи, но теперь, когда я научился это делать, я поделюсь, как я это сделал.

Здесь используется скрипт, который я нашел в другом посте, который очищает буфер обмена для средней кнопки мыши, чтобы он не вставлялся при нажатии колеса прокрутки. Найдено здесь: https://askubuntu.com/a/4644/1481518. Кредит идет к нему.

Шаг 0: Установить xsel (Инструмент для управления выделением X): sudo apt-get установить xsel. После того, как вы установили xsel, вы можете продолжить.

Шаг 1: Создайте сценарий. Откройте любой текстовый редактор и введите следующий код:

#!/бин/баш

пока (правда)
делать
    эхо -n | xsel-н-я
    спать 0,5
сделано

Сохраните файл как анти-midmouse-paste.sh (имя может быть другим, но обязательно добавьте ).

Также сделайте файл скрипта исполняемым: chmod +x /path/to/file/anti-midmouse-paste.sh

Шаг 2: Теперь, когда мы создали скрипт, пришло время запустить его каждый раз, когда мы загружаем наш компьютер.

Откройте другое окно текстового редактора и вставьте следующее:

[Вход на рабочий стол]
Тип = Приложение
Name=Паста против средней мыши
Exec="/path/to/the/script/anti-midmouse-paste.sh" "--no-window"
X-GNOME-Autostart-enabled=true

Убедитесь, что вы вводите правильный путь для Исполнитель=.

И сохраните этот файл в ~/.config/автозапуск/ как анти-midmouse-paste.desktop (опять же, имя не имеет значения, но убедитесь, что оно заканчивается на .рабочий стол)

Если вы не можете найти .config это потому, что это "скрытый" каталог. Чтобы показать, нажмите Ctrl + Н и все скрытые каталоги и файлы будут показаны.

Шаг 4: Готово.

Теперь всякий раз, когда вы загружаете свой компьютер, скрипт должен запускаться, и вы больше не будете вставлять выделенный текст с помощью средней кнопки мыши.

БОНУСНЫЙ СОВЕТ:

Сценарий очищает выбранный вами текст для таких приложений, как Текстовый редактор и Терминал.

Что вы можете сделать, чтобы отложить удаление для выделения текста (если вы хотите скопировать или стереть текст), это изменить спать 0,5 в вашей файл на более высокое значение. Число в секундах.

Ответить или комментировать

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