UFFICIALE L'OT di Linux e altri OS

Pubblicità
gnome+arch? bene, dopo pacmaur piccola applicazione per aggiornare i repo ufficiali:
1. salvare il bash-script in /usr/bin e renderlo eseguibile
2. salvare lo script in python come 'pacman_menu.py'
3. installare l'estensione kstatusnotifieritem per visualizzare sul pannello di gnome le icone
4. lanciare il bash-script all'avvio o quando volete.

bash-script
Codice:
#!/bin/bash

export content
export num
export checking
kill_pid=$(ps aux | grep "[p]ython /home/$USER/pacman_menu.py" | awk '{print$2}')
[[ "$kill_pid" != "" ]] && kill -9 $kill_pid
checking=1 ; python /home/$USER/pacman_menu.py 2>/dev/null &
#Controllo connessione internet
x=0 ; while ! ip addr | grep -F "192.168.1." > /dev/null ; do [[ "$x" -gt 200 ]] && break ; x=$((x+1)) ; sleep .1 ; done
if ping -q -c 1 -W 1 8.8.8.8 >/dev/null || ping -q -c 1 -W 1 google.com >/dev/null ; then
#Controllo pacchetti aggiornabili
      content=""
      check=$(checkupdates)
      num=$(($(echo $check | wc -w)/4))
      for ((i=0;i<$num;i++)) ; do
         content=$content" "$(echo $check | awk -v x=$((($i*4)+1)) '{print$x}')
      done
      content=${content:1}
      kill_pid=$(ps aux | grep "[p]ython /home/$USER/pacman_menu.py" | awk '{print$2}')
      kill -9 $kill_pid
      if [ "$num" -gt 0 ] ; then
         checking=0
         python /home/$USER/pacman_menu.py 2>/dev/null &
      else notify-send "Il sistema è aggiornato."
      fi
else notify-send "CHECK PACMAN fallito: NON connesso a internet."
   kill_pid=$(ps aux | grep "[p]ython /home/$USER/pacman_menu.py" | awk '{print$2}')
   [[ "$kill_pid" != "" ]] && kill -9 $kill_pid
fi

exit 0

pacman_menu.py
Codice:
#!/usr/bin/python

import os, signal, gi, subprocess, time, getpass
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk as gtk
gi.require_version('AppIndicator3', '0.1')
from gi.repository import AppIndicator3 as appindicator

USER = getpass.getuser()

APPINDICATOR_ID = 'myappindicator_pacman'
checking = os.environ["checking"]

if str(checking) == "0":
    num = os.environ["num"]
    def main():
        indicator = appindicator.Indicator.new(APPINDICATOR_ID, '', appindicator.IndicatorCategory.SYSTEM_SERVICES)
        indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
        indicator.set_menu(build_menu())
        indicator.set_icon('start-here-symbolic')
        indicator.set_label(" {}".format(num), APPINDICATOR_ID)
        gtk.main()

    def build_menu():
        menu = gtk.Menu()
        item = gtk.MenuItem(label='Pacchetti aggiornabili {}'.format(num))
        submenu = gtk.Menu()
        item.set_submenu(submenu)
        menu.append(item)
        packages = ''
        for i in os.environ["content"].split(' '):
            packages = packages+i+'\n'
        items = gtk.MenuItem(packages.rstrip())
        items.set_sensitive(False)
        item.get_submenu().append(items)
        menu.append(gtk.SeparatorMenuItem())
        menu.append(gtk.SeparatorMenuItem())

        aur = gtk.MenuItem("Verifica ora")
        aur.connect('activate', pacman_check)
        menu.append(aur)
        update = gtk.MenuItem("Aggiorna ora")
        update.connect('activate', pacman_update)
        menu.append(update)
        item_quit = gtk.MenuItem('Esci')
        item_quit.connect('activate', quit)
        item_quit.show()
        menu.append(item_quit)
    #end of items

        menu.show_all()
        return menu


    def pacman_update(_):
        os.system("gnome-terminal --geometry 85x15 --hide-menubar --title=\"Gestore aggiornamenti PACMAN\" -e \'sh -c \"sudo pacman -Syu ; echo Fatto. Premi invio per continuare.. ; read ; echo controllo_aggiornamenti.. ; nohup pacman_update >/dev/null 2>&1\"\'")

    def pacman_check(_):
        output = os.system("ps aux | grep \"[p]acman_update\" > /dev/null 2>&1")
        if output == 256:
            output1 = os.system("ps aux | grep \"[p]acman_update\" > /dev/null 2>&1")
            if output1 == 256:
                os.system("pacman_update &")
    #end of function

    def quit(_):
        gtk.main_quit()
if str(checking) == "1":
    def main():
        indicator = appindicator.Indicator.new(APPINDICATOR_ID, '', appindicator.IndicatorCategory.SYSTEM_SERVICES)
        indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
        indicator.set_menu(gtk.Menu())
        indicator.set_icon('start-here-symbolic')
        indicator.set_label(" PACMAN", APPINDICATOR_ID)
        while True:
            for i in range(0, 11):
                icon = '/home/'+USER+'/Immagini/GIF/loader/' + str(i) + '.png'
                while gtk.events_pending(): gtk.main_iteration()
                indicator.set_icon(icon)
                time.sleep(0.15)
        gtk.main()

if __name__ == "__main__":
    main()
 
gnome+arch? bene, dopo pacmaur piccola applicazione per aggiornare i repo ufficiali:
1. salvare il bash-script in /usr/bin e renderlo eseguibile
2. salvare lo script in python come 'pacman_menu.py'
3. installare l'estensione kstatusnotifieritem per visualizzare sul pannello di gnome le icone
4. lanciare il bash-script all'avvio o quando volete.

bash-script
Codice:
#!/bin/bash

export content
export num
export checking
kill_pid=$(ps aux | grep "[p]ython /home/$USER/pacman_menu.py" | awk '{print$2}')
[[ "$kill_pid" != "" ]] && kill -9 $kill_pid
checking=1 ; python /home/$USER/pacman_menu.py 2>/dev/null &
#Controllo connessione internet
x=0 ; while ! ip addr | grep -F "192.168.1." > /dev/null ; do [[ "$x" -gt 200 ]] && break ; x=$((x+1)) ; sleep .1 ; done
if ping -q -c 1 -W 1 8.8.8.8 >/dev/null || ping -q -c 1 -W 1 google.com >/dev/null ; then
#Controllo pacchetti aggiornabili
content=""
check=$(checkupdates)
num=$(($(echo $check | wc -w)/4))
for ((i=0;i content=$content" "$(echo $check | awk -v x=$((($i*4)+1)) '{print$x}')
done
content=${content:1}
kill_pid=$(ps aux | grep "[p]ython /home/$USER/pacman_menu.py" | awk '{print$2}')
kill -9 $kill_pid
if [ "$num" -gt 0 ] ; then
checking=0
python /home/$USER/pacman_menu.py 2>/dev/null &
else notify-send "Il sistema è aggiornato."
fi
else notify-send "CHECK PACMAN fallito: NON connesso a internet."
kill_pid=$(ps aux | grep "[p]ython /home/$USER/pacman_menu.py" | awk '{print$2}')
[[ "$kill_pid" != "" ]] && kill -9 $kill_pid
fi

exit 0

pacman_menu.py
Codice:
#!/usr/bin/python

import os, signal, gi, subprocess, time, getpass
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk as gtk
gi.require_version('AppIndicator3', '0.1')
from gi.repository import AppIndicator3 as appindicator

USER = getpass.getuser()

APPINDICATOR_ID = 'myappindicator_pacman'
checking = os.environ["checking"]

if str(checking) == "0":
num = os.environ["num"]
def main():
indicator = appindicator.Indicator.new(APPINDICATOR_ID, '', appindicator.IndicatorCategory.SYSTEM_SERVICES)
indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
indicator.set_menu(build_menu())
indicator.set_icon('start-here-symbolic')
indicator.set_label(" {}".format(num), APPINDICATOR_ID)
gtk.main()

def build_menu():
menu = gtk.Menu()
item = gtk.MenuItem(label='Pacchetti aggiornabili {}'.format(num))
submenu = gtk.Menu()
item.set_submenu(submenu)
menu.append(item)
packages = ''
for i in os.environ["content"].split(' '):
packages = packages+i+'\n'
items = gtk.MenuItem(packages.rstrip())
items.set_sensitive(False)
item.get_submenu().append(items)
menu.append(gtk.SeparatorMenuItem())
menu.append(gtk.SeparatorMenuItem())

aur = gtk.MenuItem("Verifica ora")
aur.connect('activate', pacman_check)
menu.append(aur)
update = gtk.MenuItem("Aggiorna ora")
update.connect('activate', pacman_update)
menu.append(update)
item_quit = gtk.MenuItem('Esci')
item_quit.connect('activate', quit)
item_quit.show()
menu.append(item_quit)
#end of items

menu.show_all()
return menu


def pacman_update(_):
os.system("gnome-terminal --geometry 85x15 --hide-menubar --title=\"Gestore aggiornamenti PACMAN\" -e \'sh -c \"sudo pacman -Syu ; echo Fatto. Premi invio per continuare.. ; read ; echo controllo_aggiornamenti.. ; nohup pacman_update >/dev/null 2>&1\"\'")

def pacman_check(_):
output = os.system("ps aux | grep \"[p]acman_update\" > /dev/null 2>&1")
if output == 256:
output1 = os.system("ps aux | grep \"[p]acman_update\" > /dev/null 2>&1")
if output1 == 256:
os.system("pacman_update &")
#end of function

def quit(_):
gtk.main_quit()
if str(checking) == "1":
def main():
indicator = appindicator.Indicator.new(APPINDICATOR_ID, '', appindicator.IndicatorCategory.SYSTEM_SERVICES)
indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
indicator.set_menu(gtk.Menu())
indicator.set_icon('start-here-symbolic')
indicator.set_label(" PACMAN", APPINDICATOR_ID)
while True:
for i in range(0, 11):
icon = '/home/'+USER+'/Immagini/GIF/loader/' + str(i) + '.png'
while gtk.events_pending(): gtk.main_iteration()
indicator.set_icon(icon)
time.sleep(0.15)
gtk.main()

if __name__ == "__main__":
main()
ormai non ti ferma più nessuno

aggiornare i repo ufficiali, in che senso? pacman -Sy? :look:
 
anche in python (con libappindicator) si può scrivere un codice che 'mima' un'estensione, non c'è molta libertà d'azione ma possono venire delle cose carine, a es. come questa applicazione meteo: Schermata da 2018-09-13 20-55-25.webp basterebbe il supporto a qualche widget in più e un controllo maggiore all'editzione di testo e icone..:chupachup:
 
anche in python (con libappindicator) si può scrivere un codice che 'mima' un'estensione, non c'è molta libertà d'azione ma possono venire delle cose carine, a es. come questa applicazione meteo: Visualizza allegato 309290 basterebbe il supporto a qualche widget in più e un controllo maggiore all'editzione di testo e icone..:chupachup:
Sei pieno di spunti interessanti. Dovresti aprire un sito o un canale YouTube.
Detto ciò, come ti trovi con Gnome su arch?

Inviato da CLT-L09 tramite App ufficiale di Tom\'s Hardware Italia Forum
 
troppo pigro e troppi impegni..:suicidio:
bene, niente da segnalare, qualche impuntamento ma nel complesso il miglior DE.

Presumo tu abbia la 3.30 ?
Ti trovi bene ? Ci sono ancora lag ? E sopratutto quanto consuma mediamente ?
Io sono sempre in dubbio tra i vari DE. Continuo a cambiare :asd:.
 
Presumo tu abbia la 3.30 ?
Ti trovi bene ? Ci sono ancora lag ? E sopratutto quanto consuma mediamente ?
Io sono sempre in dubbio tra i vari DE. Continuo a cambiare :asd:.
no ho l'ultima stabile, gnome-shell 3.28.3, il DE lo devo poter usare..:sisi:
mediamente consuma da 900MB a 1,7GB con un uso da leggero a medio fino a circa 2 ore di utilizzo.
PS in compenso mi lagga parecchio il sito di tom's...:sisi:
 
Presumo tu abbia la 3.30 ?
Ti trovi bene ? Ci sono ancora lag ? E sopratutto quanto consuma mediamente ?
Io sono sempre in dubbio tra i vari DE. Continuo a cambiare :asd:.
I lag ci sono, eccome se ci sono... Prova a smuovere il mouse nella dock, e guarda la CPU... Comunque i miglioramenti delle prestazioni sono previsti per gnome 3.32
 
no ho l'ultima stabile, gnome-shell 3.28.3, il DE lo devo poter usare..:sisi:
mediamente consuma da 900MB a 1,7GB con un uso da leggero a medio fino a circa 2 ore di utilizzo.
PS in compenso mi lagga parecchio il sito di tom's...:sisi:

Da che browser ? Se è Chrome allora tutto torna :asd::

I lag ci sono, eccome se ci sono... Prova a smuovere il mouse nella dock, e guarda la CPU... Comunque i miglioramenti delle prestazioni sono previsti per gnome 3.32

Quando è prevista l'uscita della 3.32 ?
 
I lag ci sono, eccome se ci sono... Prova a smuovere il mouse nella dock, e guarda la CPU... Comunque i miglioramenti delle prestazioni sono previsti per gnome 3.32
io uso 'dash to panel' senza dock e non ho questo problema, comunque ho provato e la dock aumenta il carico di un core del 20% ogni volta che viene processata; per rispondere più compiutamente a @Fenix27 direi che tutto vada rapportato all'hardware che si ha e tirare le conclusioni. Ovviamente ci sono altri impuntamenti (3.2 non credo faccia il miracolo, più probabile risolvano alla radice con 4.0?) che sacrifico volentieri sull'altare di gnome3 (de gustibus).:chupachup:
Fenice27, vista la scomparsa di @« MoMy » passami l'insegnamento data il rincoglionimento cioè l'età (mia): come in tutte le scelte di vita soppesa pro e contro e scegli tanto si tratta sempre di sbagliare, almeno limitiamo i danni.:asd:

PS sì chrome, dopo l'aggiornamento...
 
Pubblicità
Pubblicità
Indietro
Top