Bagaimana cara membuat pengaturan sinkronisasi saya tetap?

29

Pengaturan default untuk touchpad sinaptik mencakup fungsionalitas tempel yang dipetakan ke sudut kanan atas touchpad. Saya dapat menonaktifkan perilaku ini dengan menjalankan perintah

synclient RTCornerButton=0

Tetapi setiap kali saya reboot, pengaturan saya dikembalikan. Bagaimana saya mencegah hal ini terjadi?

cmatofte
sumber

Jawaban:

18

Anda perlu meletakkan pengaturan dalam file xorg.conf sebagai berikut:

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

Di file baru, ketik

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

  Option "RTCornerButton" "0"

EndSection
monkbroc
sumber
15
Anda seharusnya tidak membuat perubahan lokal pada file di / usr / share. Alih-alih meletakkan file baru di bawah /etc/X11/xorg.conf.d/.
jdthood
@jdthood Jawaban ini menyarankan untuk mengedit /etc/X11/xorg.conf
Akseli Palén
Bagaimana saya tahu nomor apa yang harus saya masukkan dalam nama file, sesuai dengan distribusi saya (Ubuntu 16.04)? Ada yang bilang 60-synaptics-options.conf, ada yang bilang 50-, 51-...
PlasmaBinturong
1
@PlasmaBinturong Nomor yang memulai nama file menunjukkan urutan penerapan file konfigurasi; file bernomor lebih rendah diterapkan terlebih dahulu.
FThompson
@jdthood Tidak ada direktori /etc/X11/xorg.conf.d ...
Michael
13

Daemon pengaturan Gnome dapat menimpa pengaturan yang ada (misalnya yang ditetapkan di xorg.conf.d) yang, pengaturan yang ada di /usr/share/X11/xorg.conf.d/50-synaptics.confdiabaikan. Beginilah cara saya memperbaikinya.

Menjalankan dconf-editor

Edit /org/gnome/settings-daemon/plugins/mouse/(atau /org/cinnamon/settings-daemon/plugins/mouse/untuk kayu manis)

Hapus centang activepengaturan

Sekarang akan menghormati konfigurasi sinaptik sistem Anda yang ada.

Kemudian ikuti solusi monkbroc yang akan berfungsi sekarang.

ugly_duck
sumber
Saya menggunakan budgie-desktop di atas gdm, tetapi bahkan setelah ini pengaturan saya mendapatkan
ditimpa
Ya tuhan ini aku butuh waktu lama untuk menemukannya. Terima kasih atas jawabannya. Itu persis kutukan dari semua masalah saya
cra0zy
@ cra0zy, jarum literal di tumpukan jerami, eh?
ugly_duck
1
Saya menemukan di Ubuntu 18.04 bahwa ada sesuatu yang masih menimpa pengaturan conf saya bahkan dengan dconf-editorsolusinya. Jadi, saya bukannya menambahkan script untuk /etc/profile.d/yang tidur 10 detik sebelum menerapkan pengaturan: (sleep 10; synclient TapButton2=3) &.
FThompson
9

(Mungkin) solusi tercepat adalah membuat entri di "Aplikasi Startup". Itu dapat ditemukan di peluncur persatuan.

Contoh entri terlihat seperti ini:

Nama: Enable Palm Detection

Perintah: synclient PalmDetect=1

Komentar: Enable synclient palm detection

Ini pada dasarnya setara dengan jawaban Augustin Riedinger, tetapi alih-alih membuat entri desktop secara manual, kami membiarkan Ubuntu melakukannya untuk kami.

Yixing
sumber
Ini tidak berfungsi di MATE
userDepth
1
Ini juga berfungsi dengan baik di Gnome 3. Terima kasih banyak!
vcarel
8

Metode terbaik yang berhasil bagi saya adalah menambahkan perubahan Anda ke Xsession.d, sehingga akan memuat secara otomatis untuk semua pengguna saat Anda masuk ke X:

(file tidak ada, jadi Anda bisa menamainya apa pun yang Anda inginkan. Angka-angka di sebelah kiri berarti urutan pelaksanaannya dibandingkan dengan file lainnya.)

/etc/X11/Xsession.d/80synaptics

(dimiliki oleh root, dengan izin 644)

Misalnya, Anda dapat menggunakan ini sebagai basis:

#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

Diuji di Ubuntu 14.04 dan 16.04

lepe
sumber
Ketika saya melakukan itu, dan batalkan komentar beberapa hal seperti ketukan 2 jari dan 3 jari, itu tidak berfungsi setelah saya reboot. Tapi itu terjadi ketika saya memasukkannya secara manual ke terminal. Jadi apa yang bisa saya lakukan salah?
Mason
@ Alasan: Apakah Anda yakin tidak ada kesalahan sintaks (mungkin beberapa karakter aneh diperkenalkan jika Anda 'menyalin-paste' kode)? Periksa /var/log/Xorg.0.logfile log untuk kesalahan atau peringatan.
lepe
Ini juga tidak berhasil bagi saya, mungkin itu jawaban yang paling menjanjikan. Saya log off dan kembali untuk menemukan bahwa file itu masih ada dan jalur yang tidak dikomit adalah cara saya mengaturnya. Tetapi saya masih harus menjalankan perintah di terminal untuk melihatnya bekerja dengan benar.
Chris
@ Chris: Masih bekerja untuk saya di 16,04. Saya akan mengujinya dalam instalasi yang bersih dan memberi tahu Anda di sini (mungkin ada sesuatu yang saya atur lama yang membuatnya bekerja untuk saya).
lepe
@ Lepe Terima kasih telah memeriksanya. Saya akhirnya menggunakan jawaban "Aplikasi Autostart" (2 turun sekarang). Itu tampaknya bekerja dengan cukup baik. Saya mencoba untuk menghentikan seluruh sampah TapAndDragGesture. Bahkan setelah mengaturnya ke 0, saya masih mendapatkan jendela kecil di mana masih akan melakukan itu. Mungkin teknik ini akan bekerja lebih baik, tidak yakin.
Chris
3

Buat synclientopsi tetap di antara sesi X

Menggunakan startx( xinit )

Tambahkan synclient <option>=<value> &baris apa saja ke .xinitrc sebelum baris yang menjalankan window manager atau lingkungan desktop Anda , seperti:

## ~/.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

Contoh di atas menetapkan synclientopsi sebelum menjalankan lingkungan desktop Xfce . Baris yang diawali dengan #adalah komentar (tidak akan dieksekusi).

Menggunakan manajer tampilan

Metode ini sama dengan untuk xinit, kecuali Anda meletakkan synclientbaris dalam skrip startup yang relevan untuk manajer tampilan Anda, misalnya /etc/GDM/Init/Default.

Jika Anda ragu, izinkan saya merujuk Anda ke ArchWiki yang luar biasa . Meskipun Archlinux-nya spesifik, sebagian besar solusi bekerja di setiap distro linux karena sifat DIY Arch. Selamat menikmati!

rld.
sumber
Juga tidak akan bekerja ...
Augustin Riedinger
Output dari synclient; synclient RTCornerButton=0; synclient?
rld.
2

Saya menggunakan Xubuntu 14.04 dan ini mungkin tidak berhasil untuk Anda. Buka Sesi dan mulai atau apa pun namanya untuk Anda. Buka tab Autostart Aplikasi, lagi apa pun namanya untuk Anda. Klik tombol add. Simpan nama dan deskripsi apa pun yang Anda inginkan dan dalam tipe perintah:

synclient RTCornerButton=0

Jika Anda ingin menambahkan beberapa baris, pisahkan dengan ;

Pastikan perintah yang baru saja Anda buat dicentang.

Akash Agarwal
sumber
1

Tambahkan synclient [Var=Value]ke akhir ~ / .bashrc

contoh: synclient RTCornerButton=0

Ini akan membuat sistem Anda mengatur pengaturan sinkronisasi ini setiap kali Anda masuk.

lindhe
sumber
2
Ini tidak berfungsi ... Params dieksekusi ketika sebuah bash diluncurkan, bukan pada sesi terbuka ...
Augustin Riedinger
0

Semua solusi yang disarankan di sini tidak bekerja untuk saya:

  • Saya ingin konfigurasi berada di /homefolder karena konfigurasi lokal (jadi saya dapat menyimpan parameter bahkan jika saya mengubah distrib saya misalnya)
  • .bashrcatau .xinitrcsepertinya tidak dijalankan dengan benar

Jadi saya akhirnya membuat .desktopfile yang di-autostart:

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

Mungkin bukan solusi terbaik tetapi berhasil untuk saya.

Augustin Riedinger
sumber
0

Tidak ada solusi yang bekerja untuk saya di Ubuntu 14,04 LTS dengan desktop Unity. Untuk menjadikan pengaturan ini permanen, saya harus menempelkan perintah sinkronisasi ke skrip shell dan menambahkan skrip shell ke Aplikasi Startup saya di Unity.

Catatan: Skrip shell harus memulai sesuatu seperti #!/bin/bashsebelum perintah sinkronisasi, dan izin harus diubah agar dapat dieksekusi.

kernpanik
sumber
0

Dengan Wayland (masih eksperimental pada 17,04, tetapi segera menjadi default), Anda memiliki semua pengaturan yang Anda butuhkan:

masukkan deskripsi gambar di sini

Nico Schlömer
sumber
-1
sudoedit /usr/share/X11/xorg.conf.d/50-synaptics.conf

tambahkan baris-baris itu di Bagian "InputClass"

Option "RTCornerButton" "0"

Jika Anda menggunakan manajer desktop GNOME atau Cinnamon, ada kemungkinan besar bahwa pengaturan GNOME / Cinnamon dapat mengesampingkan pengaturan khusus Anda. Untuk mencegah pengaturan GNOME / Cinnamon mengesampingkan pengaturan Anda, buka dconf Editor [ dconf-editor] dan edit entri berikut:

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

Hapus centang aktif .

Елин Й.
sumber