Programowanie > Inne

Budowa skryptu podmieniającego pliki systemowe

<< < (2/2)

1709:
Może faktycznie jest coś w twojej " plaźmie " nie dopracowane.

1. System się nie powinien zepsuć z powodu braku ikonek.
1.1 Albo się nie wyświetla ikonka,
1.2 Albo pojawia się ikonka zastępcza --> czarne okienko sugerujące Tobie że coś jest nie tak z ikonkami.

2. Zakładam że już przejrzałeś  kody wszystkie potrzebne kody źródłowe jak to jest zbudowane.
Bo w KDE / plaźmie to może trochę się różnić do mojego środowiska Mate.
Żeby wszystko działało, konstrukcja musi być taka sama jak tych instalowane domyślnie w KDE / plaźmie.

3. Do własnego użytku nie potrzebujesz przerabiać ikonek na różne rozdzielczości ekranu.

Próbuj, bo ktoś testować musi i czasami na błędach też trzeba się uczyć, najwyżej rozwalisz system na Virtualboxie ;-)
Ale rady także weź pod uwagę.
Powinno wystarczyć wspomniane przez Ciebie .svg ( Chyba że coś w plaźmie jest nie tak )
Dlatego że nowszy typ czyli .svg  ( choć nie jest bez wad, mniej / bardziej ) to potrafi się skalować.
Dla innych, lepiej przygotować .png  lub co tam jest.

4. Do testów można ikony instalować w katalogu domowym
Pewnie wiesz, ale jak coś możesz poczytać.
https://forum.linux.pl/index.php/topic,25598.msg137619.html#msg137619
https://forum.linux.pl/index.php/topic,24122.msg130606.html#msg130606

5. Skrypt. Pewnie tez znasz, ale jak coś masz.
Tam jest w bashu napisany https://github.com/tele1/UplosLinux/blob/main/WIKI/Create.own.icons.md
Może Ci sie przyda. Sam poradnik może się różnić od tego na plazmę.

6. Główne forum KDE
Na głównym forum powinno być coś więcej. https://forum.kde.org/index.php?sid=1ebe151c01e79c3ad1f971174e9f271b
Przepraszam, nie siedzę tam, to nie pomogę.
W razie czego masz translatory on-line i słowniki.

Nasze społeczeństwo jest  / pokolenia są w trakcie transformacji językowej z rosyjskiego na angielski.
Cieszmy się że dokumentacja nie jest po chińsku lub hiszpańsku których zazwyczaj nie znamy.
 https://pl.wikipedia.org/wiki/Lista_najcz%C4%99%C5%9Bciej_u%C5%BCywanych_j%C4%99zyk%C3%B3w_%C5%9Bwiata

7. Ciekawostka: Idea debugowania w KDE
https://forum.kde.org/viewtopic.php?f=14&t=38828

8. Skrypt automatyzujący
To napisz. Porady w https://forum.linux.pl/index.php/topic,26148.0.html
może Ci wystarczą.

8.1 " otworzy edytor tekstu z prawami roota ".
Jeśli większość komend wymaga uprawnień root,
to po prostu uruchom skrypt z prawami root, bez bawienia się w komendy sudo lub su w skrypcie.

8.2. Mam nadzieję że nie chodzi Ci o automatyczne edytowanie pliku przy pomocy edytora.
To zbyt skomplikowane. Można prościej, z terminala edytować plik i wyświetlić.
Do automatycznego klikania to służą różne auto-klikery które były pisane w Pythonie kiedyś i pod Linuxem teraz ciężko znaleźć.
Można też wymusić klikanie przy pomocy komendy xdotool, tylko wspomniałem że do edycji pliku to zbędne.

8.3 Zanim zaczniesz używać skryptu bash z root to polecam stworzyć sobie folder np. dev lub test
i tam skopiować plik konfiguracyjny i na nim testować.

Może taki przykład

--- Kod: ---
#!/bin/bash



ECHO_ZIELONE(){
echo " "
echo -e "\e[0;32m $@ \e[0m"
echo " "
}


PLIK_GRUBA=$(cat /etc/default/grub)


ECHO_ZIELONE "Tu zobaczysz zawartosc starego pliku:"


while read LINIA ; do
# Wyswietli nam dana linie.
echo "$LINIA"

# Edytujemy linie do własnych potrzeb i zapisujemy do zmiennej "NOWA_LINIA"
if [[ "$LINIA" == 'GRUB_TIMEOUT=10' ]] ; then
NOWA_LINIA="GRUB_TIMEOUT=15"
else
NOWA_LINIA=$(echo "$LINIA")
fi

# Zapisujemy pojawiajace sie nowe linie do zmiennej NOWE_LINIE
NOWE_LINIE=$(echo -e "${NOWE_LINIE}\n${NOWA_LINIA}")
done <<< "$PLIK_GRUBA"

# Usuniecie pustej linii na poczatku
NOWE_LINIE=$(grep -v -e '^$' <<< "$NOWE_LINIE")

echo " "
echo "========="

ECHO_ZIELONE "Tu zobaczysz zawartosc nowego nie zapisanego pliku:"

echo "$NOWE_LINIE"
--- Koniec kodu ---

i powodzenia !  :D

Edytowane.
I staraj się warunkować polecenia np.
Najpierw sprawdzić czy plik istnieje i zakończyć skrypt błędem jeśli plik nie istnieje.
żeby nie okazało się że  coś nie działa, a skrypt wykonuje się dalej i nie wiadomo co robi.

pavbaranov:

--- Cytat: 1709 w 2021-05-05, 15:38:45 ---1. System się nie powinien zepsuć z powodu braku ikonek.
1.1 Albo się nie wyświetla ikonka,
1.2 Albo pojawia się ikonka zastępcza --> czarne okienko sugerujące Tobie że coś jest nie tak z ikonkami.

--- Koniec cytatu ---
To podzielę się swoim doświadczeniem z pewnym wystrojem ikon, który lata temu próbowałem zaaplikować do Plazmy. Otóż część plików, które tam były, było dowiązaniami symbolicznymi, które prowadziły do jakichś ikon, które ów zestaw miał dostarczać. Zasadniczym słowem jest tu: miał. Ikon tych w zestawie nie było. Efektem było to, że Plazma oszalała. Praktycznie nie dawało się na niej pracować (w części przypadków obciążenie procesora próbującego coś z tym fantem wymyślić sięgało 100% i praca stawała się praktycznie niemożliwa).
W innym przypadku - wadliwie stworzony wystrój próbował też odwołać się do czegoś, czego w zestawie nie było (na sztywno zapisane w jednym z plików ścieżki prowadzące donikąd) i jedyne co zobaczyłem to czarny ekran z kursorem.
Niby obecnie Plazma jest już mniej czuła na takie typu rzeczy, jednakże w ten sposób daje się ją zepsuć. Jak jest z innymi DE - nie wiem.

1709:
Można też użyć sed do edycji plików
przykład


--- Kod: ---
#!/bin/bash

ECHO_ZIELONE(){
echo " "
echo -e "\e[0;32m $@ \e[0m"
echo " "
}

PLIK_GRUBA=$(cat /etc/default/grub)

ECHO_ZIELONE "Tu zobaczysz zawartosc starego pliku:"
echo "$PLIK_GRUBA"

echo " "
echo "========="

ECHO_ZIELONE "Tu zobaczysz zawartosc nowego nie zapisanego pliku:"
echo "$PLIK_GRUBA" | sed 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=15/g'
--- Koniec kodu ---

Lub sed z opcją " i " żeby od razu podmienić wartość w pliku.
Ale to zamieni wszystkie wystąpienia słowa " GRUB_TIMEOUT=10 "
sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=15/g'  nazwa_pliku

Większe możliwości daje
- użycie pętli " while " we wcześniejszym przykładzie w celu dotarcia do konkretnej linii ( bezpieczniejsze )
- lub użycie wyrażeń regularnych,  http://mediologia.pl/wyrazenia-regularne/8-1-wyrazenia-regularne-polecenia-grep-sed-find

pikaczu:
"poczyta" w weekend i powie co z tego wyszło

Nawigacja

[0] Indeks wiadomości

[*] Poprzednia strona

Idź do wersji pełnej