Impedire lo spegnimento del PC sul pulsante di accensione


9

Sto costruendo un PC e un BeagleBords ARM integrati per uso pubblico. Eseguono Ubuntu 13.04 e Linux assemblati manualmente rispettivamente. C'è un modo per impedire che si spengano premendo il pulsante di spegnimento (nel caso, non sulla tastiera)? Certo, posso farlo con l'hardware. Preferisco solo soluzioni software. Se qualcuno può dire con certezza "questo è impossibile" sarebbe anche una risposta utile.

Risultato: ok, l'ho capito. È possibile impedire l'arresto sulla stampa, ma non sulla pressione prolungata. Dovrò fare l'interruttore hardware per spegnere il pulsante di accensione quando necessario.


È necessario impedire la pressione intenzionale o accidentale dei tasti? Si noti che di solito ci sono altri modi per riavviare / arrestare un sistema incluso Magic SysReq (può essere disabilitato) e passare a TTY e quindi riavviare con Ctrl-Alt-Canc.
Lekensteyn,

user173876 ha menzionato qualcosa (in una risposta senza risposta che abbiamo eliminato) che potrebbe meritare considerazione: ho riscontrato diverse situazioni (nel mio caso durante un'operazione GIMP) quando tutti i lanciatori dello schermo E la tastiera sono diventati non rispondenti, tra cui Ctl-Alt- T, Alt-F1 ... F6, Ctl-Alt-Del, Ctl-Alt-BkSp e l'UNICO ricorso era usare il pulsante di accensione per spegnere / riavviare. La rimozione di questa capacità può comportare la necessità di rimuovere la batteria e / o tirare il cavo di alimentazione. O distruggendolo con un martello.
Eliah Kagan,

Risposte:


3

È possibile utilizzare il comando successivo nel terminale :

sudo chmod -x /sbin/shutdown

Se si desidera riattivare, utilizzare +xinvece -xlo stesso comando.

Ad ogni modo, tenendo premuto il pulsante di accensione per alcuni secondi, la soluzione di cui sopra non funzionerà e non credo che troverai una soluzione software per questo caso.


Dovresti usare dpkg-statoverride per mantenere persistenti le autorizzazioni attraverso un upstartaggiornamento. Esempio: sudo dpkg-statoverride --add root root 0644 /sbin/shutdown. Va notato, tuttavia, che la rimozione delle autorizzazioni di esecuzione interrompe l'opzione di arresto per tutti gli utenti di questo programma (inclusi poweroffe halt).
Lekensteyn,

3

È impossibile. È necessario mantenere fisicamente il pubblico lontano dall'interruttore di alimentazione, così come è necessario per impedire loro di strappare il cavo di alimentazione dal muro o afferrare l'intera macchina e scappare con esso.


Non sono convinto che sia impossibile. Il software è responsabile dell'avvio dell'arresto. In che modo il desktop avrebbe altrimenti la possibilità di mostrare il menu di spegnimento o terminare con grazia i programmi?
Lekensteyn,

@Lekensteyn, non è quando si tiene premuto il pulsante per 4 secondi.
psusi,

Cinque secondi, no? Questo è davvero un interruttore che non è sostituibile, ma premendo (... e rilascialo immediatamente) il pulsante di spegnimento una volta viene gestito da ACPI, il che significa che può essere intercettato e ignorato. Tuttavia, hai ragione, è probabile che l'OP stia considerando tentativi deliberati di spegnimento del sistema.
Lekensteyn,

2

Devi modificare ...

/etc/acpi/powerbtn.sh

e commenta questa riga (ho già aggiunto il #) ...

#/sbin/shutdown -h now "Power button pressed"
  • Ciò riguarda solo il pulsante di accensione e non l'arresto dal menu.
  • Ma nota anche il bug 1124149 che afferma che a causa di un passaggio da / usr / bin / qdbus a / usr / lib / i386-linux-gnu / qt4 / bin / qdbus potrebbe non funzionare sempre (il bug influenza anche Ubuntu).

Questa soluzione non ha alcun effetto sul mio sistema.
Radu Rădeanu,

Quello sarà il bug @ RaduRădeanu :) Funziona il 12.10 al lavoro; e anche non sulla mia macchina a casa (che ha 13.04). Quindi, nel frattempo, usa il metodo di Radu, ma questo probabilmente influenza anche altri pulsanti sulla tastiera.
Rinzwind,

Ciò non smetterà di tenere premuto il pulsante di accensione per 4 secondi;)
psusi
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.