Come impedire al pulsante di accensione di arrestare direttamente il sistema?


23

Ho fatto una nuova installazione di Ubuntu 13.10. Quando premo il pulsante di accensione, il computer si spegne immediatamente. In Ubuntu 13.04 ho ottenuto un bel menu, dove potevo scegliere cosa fare. Ora è sparito e lo rivoglio indietro. Ecco il mio /etc/acpi/powerbtn.sh in pastebin.

l'ho già fatto

gsettings set org.gnome.settings-daemon.plugins.power button-WORD 'interactive'

dove WORDè hibernate, power, sleepe suspend.


1
Ho esaminato il mio /etc/acpi/powerbtn.she ho scoperto che non fa proprio nulla. Il menu di cui sto parlando può essere richiamato dal comandognome-session-quit --power-off
Wauzl,

lulz. vorrei leggere il tuo commento prima di andare a caccia di un'oca selvatica cercando di trovare quel comando.

la mia risposta non ha funzionato per te?

Ho votato a favore della tua risposta e sono sicuro che avrebbe funzionato; Ho reinstallato tutto il mio sistema. Ho avuto anche altri problemi. Questo (ovyly) ha risolto il problema per me.
Wauzl,

ah, k. ti ho appena visto arrestato dal sito senza commenti, quindi ho pensato che la notifica potesse essere andata persa. strano, la reinstallazione totale ha risolto questo? hai scaricato l'ultimo 13.10? ho fatto una nuova installazione e di recente ho avuto questo problema.

Risposte:


29

Controlla il tuo /etc/systemd/logind.conffile. Dovrebbe sembrare come questo:

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#Controllers=
#ResetControllers=cpu
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#IdleAction=ignore
#IdleActionSec=30min

Rimuovi il commento dalla riga che dice #HandlePowerKey=poweroffe modifica il valore in ignore.

Quindi riavviare il logind con il comando: sudo restart systemd-logindo riavviare il computer.

EDIT: come creare un nuovo gestore acpi Creare un nuovo file in /etc/acpi/events/. Il contenuto del file dovrebbe essere:

event=<acpi_event_code>
action=<script_to_call>

dov'è <acpi_event_code>il codice che ottieni usando lo acpi_listenstrumento ed <script_to_call>è il percorso completo dello script che desideri chiamare quando si verifica quell'evento.

Devono aver cambiato qualcosa in 13.10 perché sembra che ci siano troppi file nella mia cartella / etc / accpi / events rispetto al 13.04.


Questo non riporta il mio amato menu. Non fa nulla quando premo il pulsante di accensione ora.
Wauzl,

Se il powerbtn.sh viene effettivamente eseguito quando viene premuto il pulsante di accensione, potresti provare a farlo eseguire il comando del menu di spegnimento se il server X è in esecuzione e gnome è il tuo ambiente desktop. Dai un'occhiata all'output del exportcomando per determinare quali variabili testare. Se lo script powerbtn.sh non viene eseguito affatto, potresti provare a vedere a quale evento acpi collegarti eseguendo acpi_listene premendo il pulsante di accensione. Inoltre, forse c'è un'opzione in gnome per riportare indietro il menu di accensione, ma non sono sicuro perché è passato un po 'di tempo dall'ultima volta che ho usato gnome.
jeremija,

Ho provato questo e il powerbtn.sh(probabilmente) non viene eseguito, perché non succede nulla, quando premo il pulsante. Il acpi_listenmi dice che il pulsante attiva un evento ACPI. Sfortunatamente i miei tasti volume su e giù non funzionano neanche. Forse questo è legato?
Wauzl,

Puoi provare quanto segue: grep "<acpi_event_code>" /etc/acpi/events/*dov'è <acpi_event_code>il codice dell'evento acpi che hai visto su acpi_listen. Se ottieni un risultato, visualizza quel file e vedi il nome dello script che chiama. Se non ottieni un risultato, puoi provare ad aggiungere un nuovo file in /etc/acpi/events/. Vedi la risposta modificata per maggiori dettagli.
jeremija,

Conferma che questo funziona con 16.04 LTS sul mio mac.
Benjamin R,

4

Jeremijah mi ha messo sulla strada giusta, quindi complimenti!

Ho modificato /etc/systemd/logind.confcome raccomandato, ma ho anche fatto questo .


1

Se le soluzioni di cui sopra non funzionano per te, ecco una rapida soluzione:

  • Installa xtrlock

Questa utility fa il lavoro per te. Anche se questo potrebbe non rispondere alla domanda, nelle molte soluzioni che ho provato (comprese quelle in questa pagina) nessuna sembra funzionare

Installare:

sudo apt install xtrlock 

Per utilizzare: digitare xtrlocknella riga di comando. Questo bloccherà mouse, tastiera

Per sbloccare digitare la password e premere [Invio]


Può anche congelare il pulsante di accensione.

PS Questa soluzione è particolarmente utile per coloro che hanno bambini e desiderano che il pulsante di accensione sia disabilitato per questo motivo.

xtrlock - Blocca il display X fino a quando non viene fornita la password, lasciando visibile Windows Fonte: http://manpages.ubuntu.com/manpages/artful/man1/xtrlock.1x.html


Per favore, espandi la tua risposta. Questa app è disponibile nei repository? Come lo hai installato, dalla riga di comando o tramite Ubuntu Software Center? Se tramite riga di comando, quale comando hai utilizzato? L'hai configurato, quindi come?
user68186

1

Innanzitutto è possibile modificare il file keymap per modificare il comportamento del pulsante di accensione per assegnarlo a un altro tasto

Modifica il file: /usr/share/X11/xkb/symbols/inet(modifica chiave POWR)

Quindi dovrai disabilitare il pulsante di accensione in modo efficiente un buon metodo è con xinput

i xinput --listpulsanti di accensione hanno una propria voce ... seleziona il numero del dispositivo, quindi esegui

xinput disable devnumber qualcosa di simile a xinput disable 8

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.