Comment faire de indicateur-sysmonitor un indicateur par défaut sur l'écran de connexion

10

L’Ubuntu 14.04 a actuellement dans le coin supérieur droit ces indicateurs: arrêt, bouton de verrouillage, détails de l’heure du calendrier, détails de la batterie, format de saisie (anglais) comme indicateurs par défaut. Est-il possible de faire de indicateur-sysmonitor l'un de ces indicateurs par défaut.

Maintenant, ce qui ne se passe que lorsque nous sommes connectés à un ordinateur, l’indicateur-sysmonitor s’affiche et lorsque vous vous déconnectez ou verrouillez notre ordinateur, un indicateur-sysmonitor se ferme automatiquement du panneau. Je sais par expérience dans les ordinateurs verrouillés Indicator-sysmonitor fonctionne en arrière-plan mais ne sera pas affiché dans le panneau. J'ai quelques statistiques (y compris cpu, mem et certaines personnalités) que je veux voir quand je verrouille mon ordinateur.

peut-il être fait?

P.S. J'ai posé cette question sur le site principal du logiciel et l'auteur a recommandé ce site.

J'ai consulté Cette question et ses réponses, et cela semble prometteur - mais je ne sais pas comment adapter les réponses pour indicateur-sysmonitor.

    
posée potholiday 27.05.2015 - 05:21
la source

1 réponse

18

Écran Greeter / Login

Je finis par regarder comment fonctionne le nm-applet . Je l'ai retrouvé, car cela semble difficile à coder dans unity-greeter .

Cette modification l'a fait apparaître dans l'écran d'accueil après le démarrage ou la déconnexion (mais pas dans l'écran verrouillé).

  1. Télécharger les dépendances de sources et de constructions

    sudo apt-get build-dep unity-greeter
    apt-get source unity-greeter
    
  2. Ajouter une fonction d'apparition pour indicator-sysmonitor

    cd unity-greeter-*/
    vim src/unity-greeter.vala +590
    

    Vous y trouverez Process.spawn_command_line_async ("nm-applet"); dans le code d'origine, ce qui génère le nm-applet pour l'écran de la page d'accueil. Faites-en une copie avec le try..catch wrap complet et modifiez-le pour qu'il apparaisse également indicator-sysmonitor .

        /* Make nm-applet hide items the user does not have permissions to interact with */
        Environment.set_variable ("NM_APPLET_HIDE_POLICY_ITEMS", "1", true);
    
        try
        {
            Process.spawn_command_line_async ("nm-applet");
        }
        catch (Error e)
        {
            warning ("Error starting nm-applet: %s", e.message);
        }
    
        /* I added these for sysmonitor, from here */
        try
        {
            Process.spawn_command_line_async ("indicator-sysmonitor");
        }
        catch (Error e)
        {
            warning ("Error starting indicator-sysmonitor: %s", e.message);
        }
        /* to here */
    
    }
    
  3. Construire

    ./autogen.sh
    ./configure --prefix=/usr
    make -j2
    
  4. Installer

    sudo cp src/unity-greeter /usr/local/sbin/unity-greeter
    
  5. Redémarrer

Verrouillerl'écran

Quoiqu’ilensoit,touslesindicateursd’applications'afficheront(noteznm-appletdanslacaptured'écran),ilpeuts'agird'uncodedesécurité&inconvénientdelavieprivée.Ilestpossibledeprédéfinirunelisted’indicateurspourlemodeverrouillageuniquement,jen’aisimplementpasletempsdelefaireetdeletester.

  1. Téléchargerlesdépendancesdesourcesetdeconstructions

    sudoapt-getbuild-depunityapt-getsourceunity
  2. Modifiezleserviceunit-panelpourchargerlesindicateursd'application,mêmeenmodeverrouillaged'écran.

    cdunity-7*/vimservices/panel-service.c+893

    if(!lockscreen_mode)ci-dessousempêchentlechargementdesindicateursenmoded'écranverrouillé.

    staticvoidinitial_load_default_or_custom_indicators(PanelService*self,GList*indicators){GList*l;suppress_signals=TRUE;if(!indicators){/*commenttheselinesif(!lockscreen_mode){load_indicators(self);}*///addthislineload_indicators(self);load_indicators_from_indicator_files(self);sort_indicators(self);}...
  3. Construire

    mkdirbuildcdbuild/cmake../make
  4. Installer

    sudomv/usr/lib/unity/unity-panel-service/usr/lib/unity/unity-panel-service.origsudocpservices/unity-panel-service/usr/lib/unity/unity-panel-service

    Essayez-le:CtrlAltL

réponse donnée user.dz 09.10.2015 - 10:05
la source

Lire d'autres questions sur les étiquettes