Як зробити так, щоб мої налаштування синхронізації дотримувалися?


29

Установка за замовчуванням для сенсорних панелей Synaptics включає функціональність вставки, відображену у верхньому правому куті тачпада. Я можу відключити цю поведінку, запустивши команду

synclient RTCornerButton=0

Але кожен раз, коли я перезавантажую, налаштування змінюються. Як я запобігти цьому?

Відповіді:


18

Потрібно помістити параметри у файл xorg.conf наступним чином:

sudo gedit /usr/share/X11/xorg.conf.d/60-synaptics-options.conf 

У новому файлі введіть

Section "InputClass"
  Identifier "touchpad catchall"
  Driver "synaptics"
  MatchIsTouchpad "on"
  MatchDevicePath "/dev/input/event*"

  Option "RTCornerButton" "0"

EndSection

15
Не слід вносити локальні зміни до файлів у / usr / share. Замість цього помістіть новий файл під /etc/X11/xorg.conf.d/.
jdthood

@jdthood Ця відповідь запропонувала редагувати /etc/X11/xorg.conf
Akseli Palén

Як я можу знати, яке число я повинен вписати у ім'я файлу, відповідно до мого розповсюдження (Ubuntu 16.04)? Одні кажуть 60-synaptics-options.conf, інші кажуть 50-, 51-...
PlasmaBinturong

1
@PlasmaBinturong Номер, що починає назву файлу, вказує на порядок застосування файлів конфігурації; Файли з меншим числом застосовуються спочатку.
FThompson

@jdthood Немає такого каталогу /etc/X11/xorg.conf.d ...
Майкл

13

Демон налаштувань Gnome може змінити існуючі параметри (наприклад, встановлені в xorg.conf.d), для яких існуючі параметри в /usr/share/X11/xorg.conf.d/50-synaptics.confігноруються. Ось як я це виправив.

Біжи dconf-editor

Редагувати /org/gnome/settings-daemon/plugins/mouse/(або /org/cinnamon/settings-daemon/plugins/mouse/для кориці)

Зніміть прапорець у activeналаштуваннях

Тепер він буде дотримуватися існуючої конфігурації вашої системи Synaptics.

Потім виконайте рішення monkbroc, яке буде працювати зараз.


Я використовую budgie-desktop на версії gdm, але навіть після цього мої налаштування переосмислюються ....
rll

Дорогий боже, мені знадобилося так довго, щоб знайти. Дякую за відповідь, це була саме основою всіх моїх проблем.
cra0zy

@ cra0zy, буквальна голка в копиці сіна, так?
ugly_duck

1
На Ubuntu 18.04 я виявив, що щось все-таки перекриває мої налаштування конф. Навіть із dconf-editorрішенням. Таким чином, замість цього я додав скрипт, /etc/profile.d/який спить 10 секунд до застосування налаштувань: (sleep 10; synclient TapButton2=3) &.
FThompson

9

(Можливо) найшвидший спосіб вирішити питання - створити запис у "Запуск програм". Його можна було знайти в пусковій установці єдності.

Приклад запису виглядає приблизно так:

Ім'я: Enable Palm Detection

Команда: synclient PalmDetect=1

Коментар: Enable synclient palm detection

Це по суті еквівалентно відповіді Августина Рідингера, але замість того, щоб створити запис на робочому столі вручну, ми дозволили Ubuntu зробити це за нас.


Це не працює в MATE
користувачDepth

1
Це також чудово працює у Gnome 3. Дякую!
vcarel

8

Найкращий метод, який працював для мене, - це додати свої зміни до Xsession.d, щоб він автоматично завантажувався для всіх користувачів при вході в X:

(файл не існує, тому ви можете називати його все, що завгодно. Цифри зліва означають порядок, в якому він буде виконуватися порівняно з іншими файлами.)

/etc/X11/Xsession.d/80synaptics

(належить root, з дозволами 644)

Наприклад, ви можете використовувати це як базу:

#https://wiki.archlinux.org/index.php/Touchpad_Synaptics
#Palm dimension
#synclient PalmDetect=1
#synclient PalmMinWidth=4
#synclient PalmMinZ=100

#Touchpad sensibility (move)
#synclient FingerLow=10
#synclient FingerHigh=20

#Click detection
#synclient MaxTapTime=180
#synclient MaxTapMove = 242
#synclient MaxDoubleTapTime = 180

#2 finger = right click
#synclient TapButton2=0
#3 finger = middle click
#synclient TapButton3=2
#click corners
#synclient RBCornerButton=0 MaxTapTime
#synclient RTCornerButton=0
#synclient LTCornerButton=0
#synclient LBCornerButton=0

#Oval instead of rectangular
#synclient CircularPad=1

#TapAndDragGesture
#synclient TapAndDragGesture=1

#scroll in sides
#synclient VertEdgeScroll=0
#synclient HorizEdgeScroll=0
#synclient CornerCoasting=0

#2 finger scroll
#synclient VertTwoFingerScroll=1
#synclient HorizTwoFingerScroll=0

#Disable Touchpad on start
#synclient TouchpadOff=1

Тестували в Ubuntu 14.04 та 16.04


Коли я це роблю і відміняю деякі речі, такі як 2-х і 3-х пальцевий дотик, це не спрацьовує після перезавантаження. Але це відбувається, коли я вручну ввожу їх у термінал. То що я можу робити не так?
Мейсон

@Mason: Ви впевнені, що немає синтаксичної помилки (можливо, якийсь дивний символ введено, якщо ви "скопіювали" код)? Перевірте /var/log/Xorg.0.logфайл журналу на наявність помилок або попереджень.
lepe

Це не працювало і для мене, це було, мабуть, найбільш перспективною відповіддю. Я вийшов із системи та повернувся назад, щоб виявити, що файл все ще є, і невідомий рядок був таким, яким я його встановив. Але мені все одно довелося запустити команду в терміналі, щоб побачити, як вона працює правильно.
Кріс

@Chris: Він все ще працює для мене 16.04. Я протестую його в чистому встановленні і дам вам знати про це (напевно, є щось, що я встановив давно, що змушує мене працювати).
lepe

@lepe Дякую, що перевірили його. Я в кінцевому підсумку використовував відповідь "Автозапуск програми" (2 зараз). Це, здається, працює досить добре. Я намагаюся зупинити весь сміття TapAndDragGesture. Навіть після встановлення його на 0 я все одно отримую невелике вікно, де воно все одно це робитиме. Можливо, ця техніка спрацювала б краще, не впевнений.
Кріс

3

Зробіть synclientпараметри між X сеансами

Використання startx( xinit )

Додайте будь-які synclient <option>=<value> &рядки до .xinitrc рядка, в якому працює ваш менеджер вікон або середовище робочого столу , наприклад:

## ~/.xinitrc
## X11 startup script; sourced by xinit(1) and its frontend startx(1)

## Set Synaptics touchpad options
synclient RTCornerButton=0 &

## Start desktop environment or window manager of your choice
exec startxfce4
# exec startlxde
# exec startkde
# exec i3
# exec dwm

Наведений вище приклад задає synclientпараметри перед запуском середовища Xfce на робочому столі. Рядки, що починаються з - #це коментарі (вони не виконуватимуться).

Використання диспетчера дисплеїв

Метод такий самий, як і для xinit, за винятком того, що ви ставите synclientрядки у відповідний сценарій запуску для вашого менеджера дисплеїв, наприклад /etc/GDM/Init/Default.

Якщо у вас є сумніви, дозвольте мені віднести вас до відмінного ArchWiki . Навіть незважаючи на те, що характерно для Archlinux, більшість рішень працюють у кожному Linux-дистрибутиві завдяки природі DIY Arch. Гарного!


Не буде працювати ні ...
Августин Рідінгер

Вихід synclient; synclient RTCornerButton=0; synclient?
rld.

2

Я використовую Xubuntu 14.04, і це може не працювати для вас. Відкрийте сеанс і запуск або будь-яку назву для вас. Перейдіть на вкладку Автозапуск програми, знову ж таки, як вам це назва. Натисніть кнопку додати. Зберігайте будь-яке ім’я та опис та в команді:

synclient RTCornerButton=0

Якщо ви хочете додати кілька рядків, відокремте їх ;

Переконайтесь, що команда, яку ви тільки що створили, встановлена.


1

Додайте synclient [Var=Value]до кінця ~ / .bashrc

приклад: synclient RTCornerButton=0

Це змусить вас системно встановлювати це налаштування синхронізації щоразу, коли ви входите в систему.


2
Це не працює ... Парами виконуються, коли запускається баш, а не на відкритому сеансі ...
Августин Рідінгер


0

Усі запропоновані тут рішення не працюють для мене:

  • Я хочу, щоб конфігурація знаходилась у /homeпапці, оскільки вона є локальною конфігурацією (тому я можу зберігати параметри, навіть якщо я міняю дистрибутив, наприклад)
  • .bashrcабо .xinitrc, здається, не виконано правильно

Тож я закінчив створити .desktopфайл, який автоматично запускається:

cat ~/.config/autostart/touchpadconfig.desktop 
[Desktop Entry]
Name=Touchpad Config
GenericName=Touchpad Config
Comment=Sets better default parameters to touchpad
Exec="synclient VertScrollDelta=40 && synclient AccelFactor=0.1 && synclient RightButtonAreaTop && synclient RightButtonAreaLeft=0"
Terminal=false
Type=Application
Icon=input-mouse
Categories=Settings;
StartupNotify=false

Можливо, не найкраще рішення, але це працює для мене.


0

Жодне з рішень для мене не працювало в Ubuntu 14.04 LTS з робочим столом Unity. Щоб зробити налаштування постійними, мені довелося вставити команди синхронізації до сценарію оболонки та додати сценарій оболонки до моїх програм запуску в Unity.

Примітка. Сценарій оболонки повинен починатися щось подібне #!/bin/bashдо команд синхронізації, а дозволи повинні бути змінені на виконуваний файл.


0

З Wayland (все ще експериментальний в 17.04, але незабаром стане типовим), у вас є всі необхідні настройки:

введіть тут опис зображення


-1
sudoedit /usr/share/X11/xorg.conf.d/50-synaptics.conf

додайте ці рядки у розділ "Вхідний клас"

Option "RTCornerButton" "0"

Якщо ви використовуєте менеджер робочого столу GNOME або Cinnamon, є велика ймовірність, що налаштування GNOME / Cinnamon можуть змінити ваші власні налаштування. Щоб перешкодити налаштуванням GNOME / Cinnamon замінити ваші, відкрийте dconf Editor [ dconf-editor] та відредагуйте наступний запис:

/org/gnome/settings-daemon/plugins/mouse/
or
/org/cinnamon/settings-daemon/plugins/mouse/

Зніміть прапорець активним .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.