Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Arch Linux - conky pacman update
Autor Wiadomość
umcs Offline
Użytkownik

Liczba postów: 56
Dołączył: 06-07-2009
Reputacja: 1
Post: #1
Arch Linux - conky pacman update
Od kilku miesięcy próbuję dodać na Archu do Conky skrypt, który by pokazywał czy są dostępne aktualizacje. Znalazłem dwa tak jakby główne wątki, jeden dłuższy z wieloma propozycjami i jeden z jednym "prostym" skryptem w bashu. I właśnie ten dodać. Ale jeśli ktoś ma jakąś inną propozycję, np jedynie pokazującą ilość aktualizacji (tym lepiej, bo ten pokazuje jeszcze jakieś info) to proszę bardzo...

Tamto wygląda tak:

Sworzyć plik /etc/cron.hourly/pmupdate.sh o treści:
Kod:
#!/bin/bash
pacman -Sy
return 0;

Nadać prawa wykonywalności :
Kod:
chmod +x /etc/cron.hourly/pmupdate.sh

Do ~/.conky/pmupdate.sh dodać:
Kod:
#!/bin/sh

# Version 1.1.b2
################################################################################​#########################################
### configuration setting

# # of packages in output list
list_len=8

# Conky parse code for "system is up to date" line
conky_parse_siutd=

# Conky parse code inserted before every package name
conky_parse_pkg=

# Conky parse code inserted before every package size
conky_parse_size='${goto 160}'

# Show a summary line at the end 'true' or anything
show_summary='true'

# Show remove package summary line at end. Set to 'true' or anything
show_remove_summary='true'

# # of packages in remove list, set to 0 to disable the list
rlist_len=2
# Notice that 'show_remove_summary' MUST be set to 'true' if you want to show a list of those packages

# Conky parse code inserted before summary line
conky_parse_summary=

### End of configuration
################################################################################​#########################################

declare -a pkg size
IFS=`echo -en "\n\b"`

    if [ "$show_remove_summary" = 'true' ]; then
    for i in $(pacman -Qu | sed -n '/Remove/,/Total Re/p' | sed 's/\t/\n/; s/: /\n/; s/  /\n/g' | sed 's/^ //; /^$/d' | grep ']' | sed 's/ /!/' | cut -d '!' -f1 );
       do rpkg=( "${rpkg[@]}" "$i" )
    done

    for i in $(pacman -Qu | sed -n '/Remove/,/Total Re/p' | sed 's/\t/\n/; s/: /\n/; s/  /\n/g' | sed 's/^ //; /^$/d' | grep ']' | sed 's/ /!/' | cut -d '!' -f2 );
       do rsize=( "${rsize[@]}" "$i" )
    done
fi

    for i in $(pacman -Qu | sed 's/\t/\n/; s/: /\n/; s/  /\n/g' | sed -n '/Targets /,$p' | sed 's/^ //; /^$/d' | grep ']' | sed 's/ /!/' | cut -d '!' -f1 );
       do pkg=( "${pkg[@]}" "$i" )
    done

    for i in $(pacman -Qu | sed 's/\t/\n/; s/: /\n/; s/  /\n/g' | sed -n '/Targets /,$p' | sed 's/^ //; /^$/d' | grep ']' | sed 's/ /!/' | cut -d '!' -f2 );
       do size=( "${size[@]}" "$i" )
    done

IFS=$ORIGIFS
curr=0

if [ "$list_len" -gt "${#pkg[@]}" ]; then list_len=${#pkg[@]}; fi
if [ "$rlist_len" -gt "${#rpkg[@]}" ]; then rlist_len=${#rpkg[@]}; fi


if [ "${#pkg[@]}" = "0" ]; then echo $conky_parse_siutd "System is up to date"; exit 0; fi

while [ $curr != $list_len ]
do
    echo $conky_parse_pkg ${pkg[$curr]} $conky_parse_size ${size[$curr]}
    let "curr += 1"
done

if [ "$show_summary" = "true" ]; then echo $conky_parse_summary "${#pkg[@]} Packages to update"; fi

if [ $show_remove_summary = 'true' ]; then
    if [ "${#rpkg[@]}" -gt "0" ]; then
        echo $conky_parse_siutd "${#rpkg[@]} Packages will be removed";
    fi
fi

if [ "$rlist_len" -gt "0" ]; then
    if [ "${#rpkg[@]}" -gt "0" ]; then
            curr=0
            while [ $curr != $rlist_len ]
            do
                echo $conky_parse_pkg ${rpkg[$curr]} $conky_parse_size ${rsize[$curr]}
                let "curr += 1"
            done
    fi
fi

Do .conkyrc dodać
Kod:
${execpi 900 sh ~/conky/pmupdate.sh>}

Zrobiłem to wszystko i nic. Dzisiaj była spora aktualizacja (ponad 60 MB) i conky ani drgnie.
Z TEJ strony działa mi tylko jeden skrypt, ostatni. Jednaj jest zbyt wybajerowany. Pokazuje w kolorach, repo z jakiego pochodzi, rozmiar paczek i inne a na tyle ile znam się na pythonie to mogę tylko kolor usunąć Tongue A ja chcę tylko info o ilości paczek.
(Ten post był ostatnio modyfikowany: 27.01.2010 13:57:48 przez panjandrum.)
24.01.2010 23:21:16
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Enlik Offline
„techniczny”
*******

Liczba postów: 1 043
Dołączył: 12-12-2008
Reputacja: 26
Post: #2
RE: Arch Linux - conku pacman update
Cytat:Sworzyć plik /etc/cron.hourly/pmupdate.sh o treści:
Kod:
Kod:
#!/bin/bash
pacman -Sy
return 0;
Czy automatyczne odświeżanie bazy pacmana to na pewno dobry pomysł? Zawsze mi sie wydawało, że w Archu trzeba raczej śledzić, co się robi, jeśli chodzi o zarządzanie pakietami.
Lepiej dodaj RSS-a, którego adres odnaleźć można na stronie http://www.archlinux.org/ ("Recent Updates"). Conky ma wbudowaną obsługę RSS. Wydaje mi się, że tak będzie bezpieczniej, prościej, a efekt będzie z grubsza podobny.

[Obrazek: zeDGS.png]
Please don't steal my focus!
| git
(Ten post był ostatnio modyfikowany: 25.01.2010 00:47:05 przez Enlik.)
25.01.2010 00:45:54
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Barthalion Offline
NIE MA MENU
******

Liczba postów: 1 029
Dołączył: 25-01-2009
Reputacja: 20
Post: #3
RE: Arch Linux - conku pacman update
Automatyczne odświeżanie bazy pacmana jest tak samo bezpieczna jak pacman -Syu w cronie. Z tego skryptu powinieneś być zadowolony, sam go używam. Można zmienić format wyświetlanej wiadomości i kolory. Jak dobrze poszukasz na BBSie to znajdziesz zdecydowanie więcej skryptów tego typu.

Google nigdy nie powie Ci: nie mam czasu, było, użyj szukajki, Google, RTFM, STFU
25.01.2010 06:36:32
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
EROSMRW Offline
Przyjaciel

Liczba postów: 164
Dołączył: 01-03-2009
Reputacja: 5
Post: #4
RE: Arch Linux - conku pacman update
Skrypt paconky jest godny polecenia Smile
Ja dodam, że tu opisałem prosty sposób -> http://wiki.arch-linux.pl/wiki/Conky#Wy....tualizacji

W Conky dostajesz informację, czy są jakieś pakiety do aktualizacji. Jeśli tak to ile. Mi to wystarcza.

ARCH LINUX | UBUNTU | GNOME
(Ten post był ostatnio modyfikowany: 25.01.2010 07:39:28 przez EROSMRW.)
25.01.2010 07:37:00
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
umcs Offline
Użytkownik

Liczba postów: 56
Dołączył: 06-07-2009
Reputacja: 1
Post: #5
RE: Arch Linux - conku pacman update
O właśnie EROSMRW o to mi chodziło ale nie wiem czemu, ale kilka dni wcześniej próbowałem ten skrypt i nic a teraz jest OK. Mi to też wystarcza. Dzięki
25.01.2010 18:06:31
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Instalacja aplikacji - pacman Mustafa 3 436 05.02.2012 14:10:24
Ostatni post: bLiNd
  Arch - nowy pacman pytajnik 2 218 19.01.2012 12:58:37
Ostatni post: pytajnik
  Instalacja Openoffice [arch] sagat 6 1 267 22.11.2010 08:10:01
Ostatni post: arasek
  Arch nie wstaje po aktualizacji darksys 6 1 335 24.06.2010 16:21:42
Ostatni post: Barthalion
  Arch nie widzi czystych płyt Smiglo 7 1 667 27.04.2010 07:40:07
Ostatni post: hallucngn
  [Solved] Arch - nie zawsze łączy z dhcp umcs 14 2 956 14.04.2010 14:34:55
Ostatni post: dragonn
  [Arch][GNOME] modyfikacja menu kontekstowego Moses 1 1 265 11.04.2010 06:46:01
Ostatni post: Barthalion
  arch linux nie uruchamia się dparszywka 7 1 696 24.03.2010 19:52:19
Ostatni post: dparszywka
  Arch usypianie laptopa maniekstasiek 5 1 861 18.03.2010 21:13:25
Ostatni post: maniekstasiek
  [solved] "Linux" do partycjonowania Riff 8 2 041 16.03.2010 06:41:33
Ostatni post: Barthalion

Skocz do:


Użytkownicy przeglądający ten wątek: 3 gości

Kontakt | Linux360.pl - forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS