Je travaille sur un kiosque Lubuntu entièrement contrôlé par une télécommande infrarouge. Jusqu'à présent, tout fonctionne bien, à l'exception du redémarrage et de la mise hors tension. J'ai deux questions connexes:
poweroff
dans le terminal et un qui tourne reboot
. Cependant, je trouve cela maladroit et préférerais avoir un bouton sur la télécommande pour lancer le lanceur "Shutdown" (l'icône d'alimentation en bas à droite du bureau sur Lubuntu 17.10) identique à ce qui se produirait si vous cliquez sur le bouton avec la souris. J'utilise xbindkeys
pour exécuter mes commandes. Est-ce que quelqu'un connaît la commande de terminal ou a un script pour lancer le lanceur "Shutdown"?Edit: J'ai résolu cette partie de la question. La commande en 17.10 est lxsession-default quit
Quand "Déconnexion Lubuntu 17.10 session?" Une fenêtre contextuelle apparaît Je souhaite que les seules options visibles soient Arrêt, Redémarrage et Annuler. J'ai essayé beaucoup de choses à partir d'anciens threads et d'anciennes versions, mais je n'ai réussi à supprimer aucune des options.
Ne fonctionne pas le 17.10:
gsettings set com.canonical.indicator.session suppress-logout-menuitem true
éditer /usr/share/polkit-1/actions/org.freedesktop.login1.policy
et mettre <allow_active>no</allow_active>
sous les éléments respectifs
Ainsi, après avoir lu et recherché davantage, il ne semble pas qu'il soit possible de modifier les options de session de déconnexion sans modifier ni recompiler le code source. Alors j'ai fait la meilleure chose suivante; J'ai utilisé python et tkinter pour créer mon propre programme d'interface graphique permettant d'arrêter ou de redémarrer l'ordinateur.
Ce n'était vraiment pas difficile et je sais que tout le monde peut concocter cela, mais je le posterai ici au cas où quelqu'un d'autre serait intéressé ou qui pourrait aider quelqu'un.
Sudo apt-get install python
)Sudo apt-get install python-tk
)Sudo apt-get install idle
)idle
)#Test.py from Tkinter import * import os window = Tk() B1 = Button(window, text = "Shutdown", command = lambda: os.system('poweroff')) B2 = Button(window, text = "Reboot", command = lambda: os.system('reboot')) B3 = Button(window, text = "Quit", command = lambda: quit()) B1.pack() B2.pack() B3.pack() window.mainloop()
Sudo chmod a+s /sbin/poweroff
et Sudo chmod a+s /sbin/reboot
suivantes. ** Méfiez-vous et soyez averti que cela permettra à quiconque de redémarrer ou de mettre hors tension sans les privilèges Sudo alors soyez prudent **python /dir/to/file/name.py
J'espère que cela aide quelqu'un! Voici une photo de la sortie (je vais travailler à la rendre jolie au cours des prochains jours).
De https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html et https://bbs.archlinux.org/viewtopic.php? id = 180798 J'essaierais de créer ou d'éditer le fichier /etc/polkit-1/rules.d/10-auth.rules en incluant le contenu suivant:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.suspend" ||
action.id == "org.freedesktop.login1.suspend-multiple-sessions" ||
action.id == "org.freedesktop.login1.hibernate" ||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions" ||
action.id == "org.freedesktop.login1.lock-sessions"
// switch user ?
// logout ?
) {
return polkit.Result.NO;
}
if (action.id == "org.freedesktop.login1.shutdown" ||
action.id == "org.freedesktop.login1.reboot") {
return polkit.Result.YES;
}
});
Je n'ai pas été en mesure de trouver les actions pour changer d'utilisateur ou se déconnecter, cependant.