Saya telah membeli laptop Asus ROG G551JM yang terbukti kompatibel dengan Ubuntu. Keyboard komputer dirancang dengan buruk dengan tombol "Poweroff" menjadi kunci biasa, ditempatkan di tempat, di mana orang biasanya menemukan kunci "Akhir". Komputer itu baik-baik saja kalau tidak, jadi saya membelinya dengan asumsi, bahwa saya akan entah bagaimana dapat "memperbaiki" masalah, yaitu memetakan kembali tombol PowerOff menjadi tombol "End".
Tombol PowerOff dibuat salah (ASUS G551JM):
Biasanya ada tombol «Akhir» (ASUS N56VZ):
The "poweroff" tombol peristiwa yang diproduksi oleh /dev/input/event2: Power Button
perangkat (seperti dilansir evtest
) dengan kode 116 (contoh baris dari evtest
: Event: time 1422895638.246142, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
)
Kuncinya juga dapat dilihat oleh server X, dan pada akhirnya Ubuntu dapat mengidentifikasi penekanan tombol sebagai PowerOff
kunci dan meluncurkan kotak dialog semi-transparan "Goodbye user Adam ..." yang menegaskan keinginan saya untuk benar-benar mematikan komputer.
Masalahnya adalah bahwa pengikatan yang mengikat tombol PowerOff tekan dengan rutin yang menampilkan dialog konfirmasi yang tidak terlihat di bawah dconf-editor dan saya tidak punya petunjuk di mana menemukannya.
Adakah yang bisa memberitahu saya, di mana harus mengubah (atau menghapus) ikatan default untuk kunci PowerOff ???
Itu harus menjadi sesuatu yang mudah.
edit 21.IX.2016:
Ada cara untuk menonaktifkan kotak dialog secara permanen, lihat Bagaimana cara mengubah opsi untuk tombol daya? . Saya berharap bahwa setelah menonaktifkan tombol daya, akan mungkin untuk menetapkan ulang ke sesuatu yang lain.
sumber
Home
danEnd
kunci "meta" yang paling sering saya gunakan ... :(Jawaban:
Saya bisa membuatnya bekerja pada ASUS N751JK saya di Ubuntu 18.04 LTS dan Ubuntu 16.04 LTS (diuji dengan lingkungan desktop Unity dalam kedua kasus dan KDE Plasma di 18.04):
Pertama-tama, atur aksi tombol "Matikan" menjadi
nothing
.Kesatuan
Seperti disebutkan dalam jawaban Johano Fierra :
atau sebagai alternatif
sudo apt install dconf-tools
dan gunakandconf-editor
untuk mengubahorg.gnome.settings-daemon.plugins.power
properti (seperti dijelaskan di sini ). Reboot atau logout diperlukan untuk membuatnya berfungsi.KDE
Buka "Pengaturan Sistem" , pilih tab "Manajemen Daya" di bagian "Perangkat Keras", lalu pilih tab "Hemat Energi" , gulir ke bawah, cari "Ketika tombol daya ditekan" daftar dropdown dan ubah nilainya menjadi "Jangan lakukan apa-apa" . Klik tombol "Terapkan" untuk perubahan agar berpengaruh.
Instal xdotool :
Yang ini akan memungkinkan kita untuk memicu acara utama.
Langkah selanjutnya adalah memicu "End" tekan tombol on "Power off" tekan tombol.
Ubuntu 18.04
Buat
/etc/acpi/events/power
file dengan konten berikut:dan buat
/etc/acpi/power.sh
skrip dengan konten berikut:dan tambahkan izin eksekusi untuk itu:
Ubuntu 16.04
Skrip ACPI cadangan yang digunakan untuk menangani acara tombol "Matikan" :
Kemudian edit, cari yang berikut:
dan modifikasi kode di bawah sehingga terlihat seperti:
Untuk menerapkan perubahan ini, seseorang harus menjalankan:
Berkat Adam , mungkin untuk memulai ulang
acpid
secara otomatis ketika pengguna masuk (saat boot sistem). Jadi alih-alih manualsudo acpid restart
di terminal setiap kali setelah reboot tambahkan baris berikut:ke akhir
/etc/pam.d/common-session
file.sumber
sudo acpid reload
bukannya restart? Apakah itu akan berhasil?acpid restart
masalah adalah menambahkan barissession optional pam_exec.so /usr/sbin/acpid restart
di akhir/etc/pam.d/common-session
. Dengan cara ini acpid akan dimulai kembali setelah pengguna masuk dan ini cukup bagi saya. Akhirnya masalah terpecahkan !!gsettings set
bukangsettings get
.sudo chmod +x /etc/acpi/power.sh
@Ezze, mungkin Anda bisa memperbarui jawaban Anda untuk menyertakan ini.Ini harus melakukan trik.
Masukkan terminal:
sumber
xev
perintah dan mencegahxmodmap
untuk memetakannya kembali. Dan omong-omong, kode kunci tombol "Matikan" mungkin berbeda (124 untuk ASUS N751JK saya).gsettings set org.gnome.settings-daemon.plugins.power button-power "shutdown"
(sehingga menekan tombol ditangkap), kemudian edit/etc/acpi/events/powerbtn
dan komentar keluar dari jalur#action=/etc/acpi/powerbtn.sh
, dan kemudian masukkan terminal:xmodmap -e "keycode 124 = End"
Ini harus mencegah tombol daya dari melakukan apa pun dan pada saat yang sama memetakannya ke tombol Putus.powerbtn.sh
skrip tetapi juga oleh (setidaknya)systemd-logind
layanan (mungkin, menggunakanbutton-power
pengaturan yang Anda sebutkan dalam jawaban Anda). Anda dapat menemukanif pidof systemd-logind >/dev/null; then
...exit 0
barispowerbtn.sh
yang artinya skrip memungkinkansystemd-logind
untuk menangani acara "Matikan" dengan sendirinya saat sesi desktop aktif. Satu hal yang benar tentang Anda - mengubahbutton-power
nilai tidak memengaruhi kemampuan untuk menangkap kunci tetapi sudah ditangkap oleh beberapa proses (systemd-logind
atau lainnya).