Strona 1 z 2

Conky nie wyświetla stanu naładowania baterii

: 14 lutego 2011, 19:57
autor: RaFFi
Witam.
Konfiguruję conky i mam mały problem, posiadam skrypt ~/.conky/batt:

Kod: Zaznacz cały

#!/bin/bash
case "$1" in
	stat) bs=$(acpi | awk '{print $3}')
		case "$bs" in
			Charging,) echo "charging:";;
			Unknown,) echo "full:";;
			Discharging,) echo "discharging:";;
		esac
		;;
	perc) acpi | awk '{print $4}';;
	time) acpi | awk '{print $5}';;
esac
i chciałem umieścić go w conky, próbowałem na wszystkie sposoby i nic się nie wyświetla.

Od strony .conkyrc tak to wygląda:

Kod: Zaznacz cały

    ${color #ddaa00}Temperatura $hr

    ${color white}${execi 10 ~/.conky/batt}

: 14 lutego 2011, 20:03
autor: DaVidoSS
Pokaż:

Kod: Zaznacz cały

ls -la ~/.conky/ | grep batt
acpi | awk '{print $3}'
Jesli po :

Kod: Zaznacz cały

acpi | awk '{print $3}'
bedziesz miał:

Kod: Zaznacz cały

bash: acpi: nie znaleziono polecenia
wykonaj:

Kod: Zaznacz cały

su
apt-get install acpi
Pozatym zmień :

Kod: Zaznacz cały

${color white}${execi 10 ~/.conky/batt}
na:

Kod: Zaznacz cały

${color white}${execi 10 /home/nazwa-użytkownika/.conky/batt}

: 14 lutego 2011, 20:12
autor: RaFFi
Zmiana ~/ na nazwę użytkownika nie pomogła.

Kod: Zaznacz cały

n33thl@debian:~$ ls -la ~/.conky/ | grep batt
-rw-r--r--  1 n33thl n33thl   261 02-14 19:47 batt
n33thl@debian:~$ 

acpi mam zainstalowane,

Kod: Zaznacz cały

n33thl@debian:~$ acpi | awk '{print $3}'
Charging,
n33thl@debian:~$ 

: 14 lutego 2011, 20:17
autor: pioruns
Jak ma się to wyświetlać w conky, jak twój skrypt nie zwraca żadnego komunikatu? Odpal go samego z terminala

Kod: Zaznacz cały

./.conky/batt
I co widać? Nic. Napisz swój skrypt tak, żeby działał, później zajmuj się implementacją go do conky ;)

: 14 lutego 2011, 20:22
autor: RaFFi
No właśnie, w tym tkwi chyba problem. Niestety w kwestii programowania w bashu jestem niezdarą. Mógłby ktoś przerobić ten skrypt tak żeby wyświetlał zmienną $4? Ona pokazuje procent naładowania baterii.

Edycja:
Coś zmajstrowałem, mój wyolbrzymiony i obfity skrypt wygląda teraz tak:

batt

Kod: Zaznacz cały

#!/bin/bash
acpi | awk '{print $4}';
jednak w Conky nadal się nic nie wyświetla po wywołaniu

Kod: Zaznacz cały

${execi 10 /home/n33thl/.conky/batt}

: 14 lutego 2011, 20:27
autor: DaVidoSS
Skrypt jest prawidłowy.

Kod: Zaznacz cały

n33thl@debian:~$ acpi | awk '{print $3}'
[B]Charging,[/B]
n33thl@debian:~$
Niestety plik batt nie ma flagi dla wykonania:

Kod: Zaznacz cały

-rw-r--r--  1 n33thl n33thl   261 02-14 19:47 batt
Powinno być:

Kod: Zaznacz cały


-rwxr-xr-x  1 n33thl n33thl   261 02-14 19:47 batt
Wykonaj:

Kod: Zaznacz cały

chmod +x ~/.conky/batt

: 14 lutego 2011, 20:34
autor: RaFFi
I działa! Dziękuję.
Jeszcze jeden mankament, po ilości procentów wyświetla się przecinek, który mi obrzydza całą estetykę conky. Podejrzewam, że trzeba dodać do skryptu jakiś filtr co by pokazywał tylko 0-9. Mógłby ktoś mnie wyręczyć bo niestety raczkuję dopiero w bashu?

: 14 lutego 2011, 20:48
autor: pioruns
Dodaj tam

Kod: Zaznacz cały

cut -d, -f1
;)

: 14 lutego 2011, 21:02
autor: RaFFi
Tam czyli gdzie? Bo nie mogę się połapać...

Już sobie poradziłem :)
dla osób posiadających ten sam problem:
.conkyrc

Kod: Zaznacz cały

    ${color white}Naładowanie baterii ${execi 10 /home/YOU/.conky/batt | cut -d, -f1}
~/.conky/batt

Kod: Zaznacz cały

#!/bin/bash
acpi | awk '{print $4}';
trzeba wklepać to:

Kod: Zaznacz cały

chmod +x ~/.conky/batt
do działania potrzebne jest "acpi",

Kod: Zaznacz cały

aptitude update && aptitude install acpi
Pozdrawiam.

: 14 lutego 2011, 21:32
autor: DaVidoSS
Kolega miał na mysli :

Kod: Zaznacz cały

acpi | cut -d, -f2


czyli:

Kod: Zaznacz cały

#!/bin/bash
case "$1" in
	stat) bs=$(acpi | awk '{print $3}')
		case "$bs" in
			Charging,) echo "charging:";;
			Unknown,) echo "full:";;
			Discharging,) echo "discharging:";;
		esac
		;;
	perc) acpi | cut -d, -f2;;
	time) acpi | awk '{print $5}';;
esac