web-dev-qa-db-fra.com

Comment supprimer ou désactiver l'option d'arrêt du menu de l'indicateur ou de la boîte de dialogue d'arrêt?

Mon objectif est d’autoriser uniquement l’utilisateur à redémarrer le système et à refuser tout arrêt (suspension, veille prolongée). Je cours l'unité-2d.

J'ai réussi à refuser la suspension et l'hibernation avec les fichiers de stratégie polkit, comme expliqué dans la section Comment désactiver shutdown/reboot/suspend/hibernate?

J'ai constaté qu'il était en quelque sorte capable de désactiver les capacités d'arrêt, mais je n'ai pas supprimé l'entrée "shutdown" du menu du panneau des indicateurs, ni le bouton "shutdown ..." de la boîte de dialogue d'arrêt. Appuyez sur le bouton d'arrêt à ce stade pour redémarrer lightdm et revenir à l'écran de connexion.

Mon objectif est de supprimer toute action et bouton "arrêt".

Donc, j'ai ajouté un fichier ovveride dans /usr/share/glib-2.0/schemas qui contient certaines règles:

[com.canonical.indicator.session]
suppress-shutdown-menuitem = true

(all suppress - * - menuitem a la valeur "false" par défaut dans le schéma)

Lors de la compilation, du redémarrage de X, il y a maintenant une entrée "close session ..." dans le menu du panneau d'indicateurs ...: ce n'est pas ce que je veux.

à ce stade, si je mets une autre entrée à suppress-logout-menuitem sur true, je n'ai aucune entrée dans le menu du panneau des indicateurs.

Essayer comme cela toute combinaison ne donne pas la possibilité de supprimer les références/boutons "arrêt" sans supprimer l'option de redémarrage.

Tout ce que je veux, c'est supprimer toute référence à "shutdown" mais garder une option "restart" quelque part dans le menu des indicateurs ...

Merci !

MISE À JOUR ! Je n'ai toujours pas assez de données pour résoudre mon problème. Les nouvelles données sont un responsable Ubuntu ( https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1015558 ) admet cela comme un problème résolu en 12.10 et ne sera pas résolu dans la branche LTS! De mon point de vue, il s’agit clairement d’une régression car je n’ai eu aucun problème à le faire dans 10.04.

À ce stade, même si je parviens à modifier le code de session-indicateur, toute mise à jour du référentiel ubuntu grand public l’interrompra: /

5
martin-mystere

Si l'intégration au menu des indicateurs n'est pas une condition préalable, nous pouvons toujours définir un lanceur personnalisé ou un indicateur d'application personnalisé appelant la commande follwing pour autoriser uniquement le redémarrage du système:

/usr/lib/indicator-session/gtk-logout-helper -r

Voir aussi: Quelle est la commande pour ouvrir la boîte de dialogue d'arrêt?

1
Takkat

Unity -2d utilise une vue déclarative appelée

    GioDefaultApplication {
        id: defaultApplication
    }

    Application {
        id: application
        desktop_file: defaultApplication.desktopFile
    }

    visible: application.desktop_file != ""

    onClicked: dash.activateApplication(application)

     icon: "image://icons/" + application.icon
}

"Application" pour lancer un fichier de bureau afin que vous puissiez faire plusieurs choses. 1) supprimez les fichiers du bureau sous/usr/share/applications/Ils vont comme suit

  • Déconnexion = indicateur-session-logout.desktop

  • Suspend = indicateur-session-lock-screen.desktop

  • Redémarrer = indicateur-session-restart.desktop

  • Eteindre = indicateur-session-shutdown.desktop

En éditant ces fichiers et en les supprimant (première sauvegarde), l'erreur d'indacator sera supprimée.

Une autre chose que vous pouvez faire est d’ouvrir le code source de unity-2d et de faire en sorte que tout ce qui a été cliqué = le fichier de bureau que vous aimez.

Espérons que cela aide

1
Joseph Mills