Как сделать так, чтобы мои настройки синхронизировались?

29

Настройка по умолчанию для сенсорных панелей Synaptics включает функцию вставки, сопоставленную с правым верхним углом сенсорной панели. Я могу отключить это поведение, выполнив команду

synclient RTCornerButton=0

Но каждый раз, когда я перезагружаюсь, мои настройки сбрасываются. Как я могу предотвратить это?

cmatofte
источник

Ответы:

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
monkbroc
источник
15
Вы не должны вносить локальные изменения в файлы в / usr / share. Вместо этого поместите новый файл в /etc/X11/xorg.conf.d/.
Jdthood
@jdthood В этом ответе предлагалось отредактировать /etc/X11/xorg.conf
Аксели Пален
Как мне узнать, какой номер я должен указать в имени файла, в соответствии с моим дистрибутивом (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
Боже мой, это заняло у меня так много времени, чтобы найти. Спасибо за ответ, это было точно проклятие всех моих проблем.
cra0zy
@ cra0zy, буквальная игла в стоге сена, а?
ugly_duck
1
В Ubuntu 18.04 я обнаружил, что что-то переопределяет мои настройки conf даже с 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
userDepth
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-мя пальцами, оно не работает после перезагрузки. Но это происходит, когда я вручную ввожу их в терминал. Так что я могу делать не так?
Мейсон,
@ Мейсон: Вы уверены, что нет синтаксической ошибки (возможно, вводится какой-то странный символ, если вы «вставили» код)? Проверьте /var/log/Xorg.0.logфайл журнала на наличие ошибок или предупреждений.
Леп
У меня это тоже не сработало, наверное, это был и самый многообещающий ответ. Я вышел из системы и снова вошел и обнаружил, что файл все еще там, и я установил незафиксированную строку. Но мне все равно пришлось запустить команду в терминале, чтобы увидеть, как она работает правильно.
Крис
@Chris: это все еще работает для меня в 16.04. Я протестирую его в чистой установке и дам вам знать (вероятно, есть кое-что, что я установил давным-давно, что заставляет его работать на меня).
Леп
@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 из-за самодельного характера Arch. Хорошего вам!

RLD.
источник
Также не будет работать ...
Августин Ридингер
Выход synclient; synclient RTCornerButton=0; synclient?
сл.
2

Я использую Xubuntu 14.04, и это может не сработать для вас. Откройте сессию и автозагрузку или как там у вас имя. Перейдите на вкладку «Автозапуск приложения», опять же, какое бы имя вы ни выбрали. Нажмите кнопку Добавить. Сохраните любое имя и описание по вашему желанию и введите команду:

synclient RTCornerButton=0

Если вы хотите добавить несколько строк, разделите их ;

Убедитесь, что команда, которую вы только что создали, проверена.

Акаш Агарвал
источник
1

Добавьте synclient [Var=Value]в конец ~ / .bashrc

пример: synclient RTCornerButton=0

Это заставит вас устанавливать этот параметр синхронизации каждый раз, когда вы входите в систему.

Lindhe
источник
2
Это не работает ... Параметры запускаются при запуске bash, а не при открытом сеансе ...
Августин Ридингер
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. Чтобы сделать настройки постоянными, мне пришлось вставить команды synclient в сценарий оболочки и добавить сценарий оболочки в мои приложения запуска в Unity.

Примечание. Сценарий оболочки должен запускаться примерно так же, как и #!/bin/bashперед командами synclient, а права доступа должны быть изменены на исполняемый.

kernpanik
источник
0

С Wayland (все еще экспериментальным в 17.04, но скоро станет по умолчанию), у вас есть все необходимые настройки:

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

Нико Шлёмер
источник
-1
sudoedit /usr/share/X11/xorg.conf.d/50-synaptics.conf

добавить эти строки в разделе «InputClass»

Option "RTCornerButton" "0"

Если вы используете GNOME или Cinnamon Desktop Manager, есть большая вероятность, что настройки GNOME / Cinnamon могут переопределить ваши пользовательские настройки. Чтобы настройки GNOME / Cinnamon не изменили ваши настройки, откройте dconf Editor [ dconf-editor] и отредактируйте следующую запись:

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

Снимите флажок активный .

Елин Й.
источник