Porady
Xubuntu GNU/Linux
Poniższe porady dotyczą dystrybucji Ubuntu GNU/Linux oraz dystrybucji pochodnych (Kubuntu GNU/Linux, Xubuntu GNU/Linux, Lubuntu GNU/Linux).
apt 24 4 1 1 3 1 5 3 1 1 2 1 1, gui 3 1 2, conf 14 1 1 1 1 5 1 1 1 1 1, bash 10 2 1 1 1 1 1 1 2, skróty 2 1 1, różne 2 1 1
Spis treści:
{apt} [2024-04-19] Instalacja programu "Kreator nośnika rozruchowego" w Xubuntu 20.04 LTS
Rozwiązanie:
Program ten służy do instalacji na pendrivie pliku ISO zawierającego program instalacyjny wybranej dystrybucji Linuksa. W celu zainstalowania tego programu wystarczy wykonać następującą komendę:
sudo apt install usb-creator-gtk
Program będzie dostępny w menu: "Ustawienia" | "Kreator nośnika rozruchowego".
Testowane w systemach operacyjnych:
Xubuntu 20.04.
Źródło wiedzy:
{bash} [2024-04-09] Jak plik ISO zamontować w środowisku graficznym "xfce" dystrybucji Xubuntu
Rozwiązanie:
W tym celu wystarczy zainstalować program "Disk Image Mounter" (ten sposób jest wg mnie najprostszy i działa) a pomocą komendy:
sudo apt install gnome-disk-utility
Plik ISO można zamontować także w CLI używając poniższych komend:
sudo mkdir /media/iso
sudo mount -o loop -t iso9660 /ruta/al/archivo.iso /media/iso
Aby później odmontować tak zamontowany plik, należy użyć komendy:
sudo umount /media/iso
Jeszcze inną metodą jest użycie programu "Furious ISO Mount Tool". Aby zainstalować ten program wystarczy użyć komendy:
sudo apt install furiusisomount
Testowane w systemie operacyjnym:
Xubuntu 20.04.6, Xfce 4.14
Źródła wiedzy i inspiracji:
{bash} [2024-02-29] Jak sprawdzić, ile pozostało do przekopiowania (dużego) pliku lub plików na nośnik zewnętrzny (np. pendrive)
Rozwiązanie:
W tym celu wystarczy użyć komendy:
watch -n 1 'cat /proc/meminfo | egrep -i "write|cache|dirty"'
Nie ma informacji o czasie pozostałym do zakończenia kopiowania. Kopiowanie powinno się zakończyć w momencie, gdy wartość dla parametru "Dirty" spadnie poniżej "1000 kB" (wartość ta odświeża się co 1 sekundę - parametr ten można zmienić poprzez modyfikację powyższej komendy).
Testowane w systemie operacyjnym:
Xubuntu 20.04.6, Xfce 4.14
Źródła wiedzy i inspiracji:
{xfce}{conf} [2023-10-13] Restart środowiska graficznego "xfce" za pomocą skrótu klawiszowego [Ctrl][Alt]+[Backspace]
Rozwiązanie:
W tym celu wystarczy użyć komendy:
sudo dpkg-reconfigure keyboard-configuration
Po wydaniu tej komendy uruchomi się kreator. W oknie:
wybierz "Tak". Po zakończeniu działania kreatora, należy ponownie uruchomić komputer.
Testowane w systemie operacyjnym:
Xubuntu 20.04.6, Xfce 4.14
Źródła wiedzy i inspiracji:
{xfce}{conf} [2023-06-17] Jak sprawdzić wersję środowiska graficznego "xfce"
Rozwiązanie:
W tym celu wystarczy użyć komendy:
xfce4-about
Testowane w systemie operacyjnym:
Xubuntu 20.04.6, Xfce 4.14
Źródła wiedzy i inspiracji:
http://xahlee.info/linux/linux_find_xfce_version.html
{xfce}{conf} [2023-06-17] Blokowanie konta oraz ukrywanie zablokowanego konta na liście użytkowników w "lightdm"
Rozwiązanie w CLI:
Aby zablokować / odblokować konto wystarczy użyć komendy:
passwd -l nazwa_konta # zablokowanie konta
passwd -u nazwa_konta # odblokowanie konta
Aby ukryć / pokazać konto na liście użytkowników w "lightdm" można użyć komendy (konta, które mają ustawiony brak powłoki - wpis: "/bin/false" - nie są wyświetlane):
sudo usermod -s /bin/false nazwa_uzytkownika # ukrycie konta na liście użytkowników w "lightdm"
sudo usermod -s /bin/bash nazwa_uzytkownika # pokazanie konta na liście użytkowników w "lightdm"
Aby sprawdzić, czy jakieś konto jest zablokowane można użyć jednej z poniższych komend:
passwd --status nazwa_konta # sprawdzenie statusu wybranego użytkownika
passwd -aS # sprawdzenie statusu wszystkich użytkowników (P - ustawione hasło, L - konto zablokowane,
# NP - brak hasła)
Rozwiązanie w GUI (xfce)
Otwórz okno "Ustawienia użytkowników" w menu "Ustawienia | Użytkownicy i grupy".
Zaznacz użytkownika i wciśnij przycisk [Zaawansowane ustawienia] (możliwe, że pojawi się okno, wktórym będzie trzeba wpisać hasło administratora).
Pojawi się okno "Zmiana zaawansowanych ustawień użytkownika", w którym wybierz zakładkę "Zaawansowane". W oknie tym można:
wyłączyć konto za pomocą opcji "Wyłączenie konta"
zmienić powłokę za pomocą rozwijanego menu "Powłoka" (zmiany dokonujemy pomiędzy powłoką "/bin/bash" i "/bin/false")
Testowane w systemie operacyjnym:
Xubuntu 20.04.6, Xfce 4.14
Źródła wiedzy i inspiracji:
https://techniczny.net/jak-pod-linuxem-zablokowac-uzytkownika/
https://manpages.ubuntu.com/manpages/lunar/en/man8/usermod.8.html
{gui} [2023-02-23] Znajdowanie wszystkich plików w wybranej lokalizacji i jej podkatalogach w programie "Wyszukiwarka plików Catfish" (ang. Catfish File Search)
Rozwiązanie:
W tym celu:
Wybierz lokalizację z rozwijanego paska w lewym górnym rogu okna wyszukiwarki.
Na pasku wyszukiwania wpisz tekst " " (spacja) jako ciąg do wyszukiwania.
Testowane w systemie operacyjnym:
Xubuntu 20.04.5
Źródło wiedzy:
własne
{conf, b.d.} [2022-10-25] Usunięcie ostrzeżeń w phpMyAdmin dla PHP 7.4
Rozwiązanie:
Usunięcie informacji (notice) po wybraniu opcji przeglądania zawartości tabeli:
Notice in ./libraries/classes/Database/Designer.php#218
Trying to access array offset on value of type bool
W pliku "/usr/share/phpmyadmin/libraries/classes/Database/Designer.php" wiersz 218 o treści:
$params = json_decode($result['settings_data'], true);
zmień na:
$params = isset($result['settings_data'])? json_decode($result['settings_data'], true): array();
Usunięcie informacji o przestarzałym wywołaniu funkcji (Depecation notice) po wybraniu opcji eksportu baz danych z bieżącego serwera:
Deprecation Notice in ./libraries/classes/Export.php#558
implode(): Passing glue string after array is deprecated. Swap the parameters
W pliku "/usr/share/phpmyadmin/libraries/classes/Export.php" wiersz 558 o treści:
557: if (! empty($db_select)) {
558: $tmp_select = implode($db_select, '|');
559: $tmp_select = '|' . $tmp_select . '|';
560: }
zmień na:
557: if (! empty($db_select)) {
558: $tmp_select = implode('|', $db_select);
559: $tmp_select = '|' . $tmp_select . '|';
560: }
UWAGA! Przed zapisaniem zmian warto zrobić kopię zapasową pliku.
{skróty} [2022-09-28] Wywoływanie menu GRUB w Xubuntu
Rozwiązanie:
W tym celu należy:
w BIOS-ie należy przytrzymać klawisz [Shift]
w UEFI należy (czasami kilkakrotnie) nacisnąć klawisz [Esc]
Testowane w systemie operacyjnym:
Xubuntu 20.04.5
Źródło wiedzy:
{conf} [2022-09-28] Własne ustawienia wielu monitorów za pomocą "randr"
Rozwiązanie:
Jednym z rozwiązań działającym dla pojedynczego użytkownika jest utworzenie w jego katalogu domowym pliku "~/.xprofile". Oto przykładowa treść tego pliku:
# Dodanie do listy trybów urządzenia "VGA-1" rozdzielczości "1280x960"
xrandr --addmode VGA-1 1280x960
# Aktywowanie dla urządzenia "VGA-1" rozdzielczości "1280x960"
xrandr --output VGA-1 --mode 1280x960
# Ustawienie połążenia urządzenia "VGA-1" jako na prawo od urządzenia "DVI-I-1"
xrandr --output VGA-1 --right-of DVI-I-1
# Ustawienie urządzenia "DVI-I-1" jako "ekran główny"
xrandr --output DVI-I-1 --primary
Więcej ustawień - patrz: poniższe źródło wiedzy.
Testowane w systemie operacyjnym:
Xubuntu 20.04.5
Źródło wiedzy:
https://wiki.ubuntu.com/X/Config/Resolution
{bash} [2021-10-28] Uruchamianie, restartowanie i zatrzymywanie serwera "Samba"
Rozwiązanie:
Aby uruchomić usługę serwera "Samba" należy wykonać polecenie:
sudo service smbd start
Aby ponownie uruchomić (zrestartować) usługę serwera "Samba" należy wykonać polecenie:
sudo service smbd restart
Aby zatrzymać usługę serwera "Samba" należy wykonać polecenie:
sudo service smbd stop
Testowane w systemie operacyjnym:
Xubuntu 20.04.3
Źródło wiedzy:
{conf, b.d.} [2021-05-25] Usunięcie ostrzeżeń w phpMyAdmin dla PHP 7.2
Rozwiązanie:
Usunięcie ostrzeżenia po wybraniu opcji przeglądania zawartości tabeli:
Warning in ./libraries/sql.lib.php#613
count(): Parameter must be an array or an object that implements Countable
W pliku "/usr/share/phpmyadmin/libraries/sql.lib.php" w wierszach 613-614 o treści:
|| (count($analyzed_sql_results['select_expr'] == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
dopisz nawias zamykający w wierszu 613 i usuń go w wierszu 614 - wiersz ten po zmianie powinien wyglądać następująco:
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))
Usunięcie ostrzeżenia po wybraniu opcji "Pokaż wszystko" ("Show all") podczas przeglądania zawartości tabeli (nie więcej, niż 500 rekordów):
Warning in ./libraries/DisplayResults.php#869
A non-numeric value encountered
W pliku "/usr/share/phpmyadmin/libraries/DisplayResults.php" w wierszu 869 o treści:
+ $_SESSION['tmpval']['max_rows'];
dopisz kod "(int) " - wiersz ten po zmianie powinien wyglądać następująco:
+ (int) $_SESSION['tmpval']['max_rows'];
Usunięcie ostrzeżenia po wybraniu opcji "Import":
Warning in ./libraries/plugin_interface.lib.php#551
count(): Parameter must be an array or an object that implements Countable
W pliku "/usr/share/phpmyadmin/libraries/plugin_interface.lib.php" w wierszu 551 o treści:
if ($options != null && count($options) > 0) {
dopisz kod "(array)" - wiersz ten po zmianie powinien wyglądać następująco:
if ($options != null && count( (array) $options) > 0) {
Usunięcie ostrzeżenia po zakończeniu importu danych z arkusza kalkulacyjnego w formacie "ods":
Warning in ./libraries/import.lib.php#1206
count(): Parameter must be an array or an object that implements Countable
W pliku "/usr/share/phpmyadmin/libraries/import.lib.php" w wierszu 1206 o treści:
$additional_sql_len = count($additional_sql);
dopisz kod "(array)" - wiersz ten po zmianie powinien wyglądać następująco:
$additional_sql_len = count( (array) $additional_sql);
Usunięcie ostrzeżenia wyświetlającego się po otwarciu opcji "Widok projektu" dla wybranej bazy danych:
Warning in ./libraries/pmd_common.php#405
count(): Parameter must be an array or an object that implements Countable
W pliku "/usr/share/phpmyadmin/libraries/pmd_common.php" w wierszu 405 o treści:
if (count($min_page_no[0])) {
dopisz kod "is_array($min_page_no[0]) && " - wiersz ten po zmianie powinien wyglądać następująco:
if (is_array($min_page_no[0]) && count($min_page_no[0])) {
Testowane w systemach operacyjnych:
Xubuntu 18.04.1 LTS, Xubuntu 18.04.5 LTS.
Źródła wiedzy:
{conf} [2021-01-14] Optymalizacja szybkości kopiowania danych na Pendrive (Ram Cache, Dirty Pages)
Rozwiązanie:
Aby spowodować bardziej płynne kopiowanie danych na Pendrive (dotyczy to szczególnie systemu plików FAT32), dobrze jest zmienić ustawienia w pliku "/etc/sysctl.conf". Na moim komputerze optymalne ustawienia to (więcej - patrz: https://morfikov.github.io/post/ram-cache-i-dirty-pages/):
vm.dirty_background_bytes = 10000000 # 10 M
vm.dirty_background_ratio = 0 # 0%
vm.dirty_bytes = 30000000 # 30 M
vm.dirty_ratio = 0 # 0 %
vm.dirty_expire_centisecs = 100 # 1 s
vm.dirty_writeback_centisecs = 100 # 1 s
vm.dirtytime_expire_seconds = 1800 # 30 m
Dodatkowo warto zmienić ustawienia - jeśli nasz pendrive to "sdb" - to odpowiednio w pliku "/sys/block/sdb/device/max_sectors". Na moim komputerze optymalne ustawienia to (więcej na ten temat - patrz: https://morfikov.github.io/post/jak-zwiekszyc-predkosc-zapisu-w-urzadzeniach-usb/):
echo 1024 > /sys/block/sdb/device/max_sectors
Powyższe ustawienia są ustawieniami tymczasowymi. Aby takie ustawienia wprowadzić na stałe należy ułożyć nową regułę poprzez utworzenie pliku "/etc/udev/rules.d/90-pendrive-max-sectors.rules" z następującą zawartością (więcej na ten temat - patrz: https://morfikov.github.io/post/udev-czyli-jak-pisac-reguly-dla-urzadzen/):
KERNEL=="sd?", SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{max_sectors}=="240" \
RUN+="/bin/sh -c 'echo 2048 > /sys/block/%k/device/max_sectors'"
Pozostaje jeszcze przeładować ustaweinia za pomocą polecenia:
# udevadm control --reload
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
https://morfikov.github.io/post/jak-zwiekszyc-predkosc-zapisu-w-urzadzeniach-usb/
https://morfikov.github.io/post/udev-czyli-jak-pisac-reguly-dla-urzadzen/
https://gitlab.com/morfikov/debian-files/blob/master/configs/etc/sysctl.conf
https://www.thomas-krenn.com/pl/wiki/Podstawowe_informacje_o_Page_Cache_w_Linuksie
{bash} [2020-09-16] Sprawdzanie typu pliku za pomocą komendy Linuksa
Rozwiązanie:
W tym celu można użyć polecenia "file":
file ~/.bash_history # polecenie dla zwykłych plików
file -s /dev/sda # przydatna opcja wyświetlająca więcej informacji o plikach specjalnych, np. partycjach dyskowych
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
https://sylwekb.wordpress.com/2009/10/18/sprawdzanie-typu-pliku-polecenie-file/
http://manpages.ubuntu.com/manpages/bionic/pl/man1/file.1.html
{bash} [2020-09-16] Zarządzanie datą i czasem w Linuksie
Rozwiązanie:
W tym celu można użyć polecenia "date":
date # wyświetla bieżącą datę i czas
date -u # wyświetla wyświetla bieżącą datę i czas uniwersalny (UTC)
date -s # ustawia datę i czas
Opcja "-s" przydatna jest tylko wtedy, gdy system nie ma dostępu do Internetu. Gdy dostęp do Internet jest, system zapobiega zmianie daty i czasu, co pokazuje poniższy eksperyment:
sudo date -s '2020-01-01 12:00'; date; sleep 1; date
Bieżący czas można pobrać z serwera czasu (na takim serwerze czas jest podawany z bardzo dużą dokładnością) m. in. poleceniem "sudo ntpdate nazwa_serwer_czasu", np.:
sudo ntpdate ntp.task.gda.pl
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
https://forum.fedora.pl/topic/11230-zmiana-daty-pod-konsol%C4%85/
http://manpages.ubuntu.com/manpages/focal/pl/man1/date.1.html
{apt, bash} [2020-03-28] Automatyczne wyświetlanie przypomnień (okienek dialogowych z komunikatami) za pomocą programów cron oraz KDialog
Rozwiązanie:
Najpierw trzeba zainstalować obsługę okienek dialogowych:
sudo apt install kdialog
W tym celu należy utworzyć skrypt wyświetlający okienko dialogowe z napisem, który ma się wyświetlić na Pulpicie (przykładowa nazwa skryptu to: ~/skrypt.sh):
#!/bin/bash
export DISPLAY=:0.0
/usr/sbin/kdialog --msgbox 'Test'
Następnie należy nadać temu skryptowi prawa wykonywania:
chmod u+x ~/skrypt.sh
Czas na skonfigurowanie pliku zadań programu crontab, żeby automatycznie uruchamiał skrypt co pewien czas. W tym celu uruchamiamy program crontab:
crontab -e
W oknie programu dopisujemy nową linię (należy zakończyć ją klawiszem "Enter"). Można wybrać jeden z poniższych przykładów:
* * * * * ~/skrypt.sh (skrypt będzie wykonywał się co 1 minutę)
*/15 * * * * ~/skrypt.sh (skrypt będzie wykonywał się co każdy pełny kwadrans)
3 * * * * ~/skrypt.sh (skrypt będzie wykonywał się co 1 godzinę, 3 minuty po każdej pełnej godzinie)
15 8,12,17-20 * * * ~/skrypt.sh (skrypt będzie wykonywał się codziennie, kwadrans po godzinach: 8, 12, 17, 18, 19, 20)
0 12 * * Mon ~/skrypt.sh (skrypt będzie wykonywał się w każdy poniedziałek w samo południe
0 10 1 9 * ~/skrypt.sh (skrypt będzie wykonywał się co roku, 1 września o godzinie 10:00
albo użyć innych ustawień. W tym celu należy poczytać poniższe źródła wiedzy.
Do pliku /var/log/syslog dopisywane są raporty o tym, kiedy uruchomiono poszczególne zadania. Można użyć polecenia (polecenie grep obsługuje wyrażenia regularne, więc można o wiele dokładniej określić wyniki):
cat /var/log/syslog | grep 'CRON.*CMD'
Jeżeli chcemy na bieżąco śledzić zmiany w logu systemowym (pod kątem programu cron) można użyć polecenia watch i tail:
watch tail -n 10 /var/log/syslog
Aby sprawdzić wpisy utworzone w programie crontab, wystarczy użyć polecenia:
crontab -l
Aby usunąć cały plik (wszystkie wpisy) utworzony przez program crontab, wystarczy użyć polecenia:
crontab -r
Pliki użytkowników wygenerowane przez program crontab znajdują się w katalogu: "/var/spool/cron/crontabs" w podkatalogach o takich samych nazwach, jak nazwa użytkownika.
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
man 5 crontab, man crontab, man cron
https://ai.ia.agh.edu.pl/_media/pl:dydaktyka:unix:gjn-cron.pdf
https://gogomedia.pl/blog/backend/cron-jak-uruchamiac-zadania-co-1-sekunde/
https://stackoverflow.com/questions/34734682/bash-script-with-kdialog-not-running-from-cron
{bash} [2020-03-11] Kopiowanie danych pomiędzy komputerami w sieci
Rozwiązanie:
Aby skopiować plik ze zdalnego komputera do komputera lokalnego, można uzyć polecenia:
scp uzytkownik@zdalny:/home/uzytkownik_zdalny/plik.txt /home/uzytkownik_lokalny/
Aby skopiować plik z lokalnego komputera do komputera zdalnego, można uzyć polecenia:
scp /home/uzytkownik_lokalny/plik.txt uzytkownik@zdalny:/home/uzytkownik_zdalny/
Aby skopiować katalog ze zdalnego komputera do komputera lokalnego, można uzyć polecenia:
$ scp -r uzytkownik@zdalny:/home/uzytkownik_zdlany/katalog/ /home/uzytkownik_lokalny/
Aby skopiować katalog z lokalnego komputera do komputera zdalnego, można uzyć polecenia:
$ scp -r /home/uzytkownik_lokalny/katalog/ uzytkownik@zdalny:/home/uzytkownik_zdalny/
Aby skopiować plik ze zdalnego komputera do innego komputera zdalnego, można uzyć polecenia:
$ scp uzytkownik1@zdalny1:/home/uzytkownik1/plik.txt uzytkownik2@zdalny2:/home/uzytkownik2/
Powyższe przykłady dotyczą kopiowania plików / katalogów z katalogu domowego do katalogu domowego (zakładamy, że obydwa komputery używają systemu operacyjnego z rodziny Linux).
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
https://haydenjames.io/linux-securely-copy-files-using-scp/
{conf} [2020-03-12] Wyłączanie trybu "recovery" w systemach z rodziny Ubuntu
Rozwiązanie:
W tym celu w pliku "/etc/default/grub" należy zmienić wiersz:
#GRUB_DISABLE_RECOVERY="true"
na:
GRUB_DISABLE_RECOVERY="true"
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
https://askubuntu.com/questions/186176/how-to-disable-recovery-mode-single-user-mode
{apt} [2020-03-12] Język polski w Ubuntu oraz w podręczniku man
Rozwiązanie:
Aby ustawić polską wersje systemu Xubuntu, w głównym menu systemu wybieramy opcję: "Ustawienia | Języki". Otworzy się okno "Języki", w którym dodajemy żądany język do listy i ustawiamy go jako pierwszy na liście.
W celu zainstalowania polskiej wersji podręcznika "man", należy wykonać następujące polecenia:.
sudo apt-get install doc-linux-pl
sudo apt-get install manpages-pl
sudo apt-get install manpages-pl-dev
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
https://haker.edu.pl/2015/10/22/linux-jezyk-polski-man/
{conf} [2019-10-19] Rotowanie plików logów za pomocą narzędzia "logrotate"
Rozwiązanie:
Konfiguracja tego narzędzia znajduje się w pliku "/etc/logrotate.conf" oraz w plikach znajdujących się w katalogu "/etc/logrotate.d/".
Oto przykładowa definicja rotowania:
/var/log/wtmp
/var/log/btmp
{
# Jeśli plik nie istnieje, nie spowoduje to żadnego błędu, czy ostrzeżenia
missingok
# Minimalna częstotliwość rotowania, dostepne częstotliwości: hourly, daily, weekly, monthly, yearly
monthly
# Prawa dostępu oraz właściciel i grupa tworzonych plików
create 0664 root utmp
# Liczba zrotowanych plików
rotate 10
# Rozszerzeniem zrotowanych plików będzie data rotacji zgodna z podanym formatem, zamiast kolejny numer rotacji
dateext
dateformat -%Y%m%d
# Brak rotowania pustych plików
notifempty
# minimalny rozmiar wymagany do rotowania, inne opcje: maxsize, minage, maxage
minsize 100K
# Zrotowane pliki nie zostaną skomprosowane
nocompress
# Ścieżka względna (może być też bezwzględna) do katalogu ze zrotowanymi plikami
olddir old
}
Więcej opcji można znaleźć m. in. w dokumentacji: http://manpages.ubuntu.com/manpages/bionic/man8/logrotate.8.html
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
http://manpages.ubuntu.com/manpages/bionic/man8/logrotate.8.html
https://mmazurek.dev/logrotate-narzedzie-do-rotowania-logow/
http://smallitblog.blogspot.com/2015/09/zarzadzanie-logami-systemowymi.html
{bash} [2019-10-19] Przydatne narzędzia dla administratora Linuksa
Rozwiązanie:
Oto narzędzia, które kiedyś przydały się mnie:
apt-rdepends, apt-cache policy - narzędzia do sprawdzania zależności dotyczących zainstalowanego pakietu
htop, atop - narzędzie do monitorowania systemu oraz uruchomionych w nim procesów (to drugie narzędzie potrafi sięgnąć wstecz do miesiąca czasu)
last, lastb - narzędzie raportujące udane oraz nieudane logowania do systemu
logrotate - narzędzie obcinające oraz dzielące pliki na części, gdy stają się zbyt duże albo gdy zaczynają zajmować zbyt dużo miejsca na dysku
lsof - narzędzie monitorujące otwarte pliki
watch - narzędzie umożliwiające wykonywanie polecenia Linuksa w określonych odstępach czasu
passwd, chage - narzędzia do zarządzania hasłami i logowaniem
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
https://mmazurek.dev/atop-analizujemy-historyczne-obciazenie-maszyny/
https://mmazurek.dev/htop-monitorowanie-procesow-przyklady-stanow-procesow/
https://techniczny.net/jak-pod-linuxem-zablokowac-uzytkownika/
{apt} [2019-06-27] Współdzielenie plików za pomocą serwera SAMBA w Xubuntu 18.04 (porada do aktualizacji)
Rozwiązanie:
Do tego celu wykorzystamy serwer plików "SAMBA". Więcej na ten temat pod adresem:
https://linuxiarze.pl/wspoldzielenie-plikow-w-systemie-linux/
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
{bash} [2019-06-19] Sprawdzanie w skrypcie Bash, czy plik istnieje
Rozwiązanie:
Oto najprostszy skrypt sprawdzający, czy plik istnieje:
#!/bin/bash
plik="/etc/hosts"
if [ -e "$plik" ]
then
echo "$plik istnieje."
else
echo "$plik nie istnieje."
fi
Więcej możliwości można znaleźć m. in. pod adresem: https://www.cyberciti.biz/faq/unix-linux-test-existence-of-file-in-bash/.
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
{apt} [2019-06-19] Instalacja sterownika do drukarki Brother HL-1110
Rozwiązanie:
Najlepiej użyć programu "linux-brprinter-installer-2.2.1-1.gz" (może być nowsza wersja). w tym celu należy:
Pobrać plik ze strony prodcuenta: https://support.brother.com/g/b/downloadlist.aspx?c=eu_ot&lang=en&prod=hl1110_us_eu_as&os=128.
Rozpakować skrypt instalacyjny i nadać mu prawa wykonywania, np. "chmod +x linux-brprinter-installer-2.2.1-1".
Uruchomić jako "root" skrypt instalacyjny (np. "sudo ./linux-brprinter-installer-2.2.1-1") i postępować zgodnie ze wskazówkami.
UWAGA: Inne sposoby instalacji powodowały, że u mnie drukarka nie drukowała.
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
{bash} [2019-06-19] Ponowna instalacja GRUB z nośnika Live, gdy GRUB został uszkodzony
Rozwiązanie:
W tym celu należy użyć nośnika Live (np. pendrive) do uruchomienia systemu, a następnie otworzyć "Terminal" i wykonać następujące komendy:
sudo mkdir /mnt/root # tworzymy tymczasowo katalog, do którego podepniemy nasz zepsuty system
Teraz np. za pomocą programu "gparted" sprawdzamy, na której partycji jest nasz zepsuty system (w kolejnych komendach zakładamy, że jest na partycji "/dev/sda1")
# Do utworzonego katalogu podpinamy partycję z zepsutym systemem
sudo mount -t ext4 /dev/sda1 /mnt/root
# Dołączamy potrzebne katalogi
sudo mount -t proc none /mnt/root/proc
sudo mount -o bind /dev /mnt/root/dev
# Ustawiamy katalog z podpiętą partycją jako nowy katalog root
sudo chroot /mnt/root /bin/bash
# Można jeszcze raz skonfigrować GRUB (ten punkt zwykle mozna pominąć)
sudo dpkg-reconfigure grub-pc
# Ponownie instakujemy GRUB
sudo update-grub
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
{conf, b.d.} [2019-04-25] Jak w phpMyAdmin usunąć błąd: Tajna fraza kodująca (blowfish_secret) w pliku konfiguracyjnym jest za krótka
Rozwiązanie:
W pliku "/var/lib/phpmyadmin/blowish_secret.inc.php" albo "/etc/phpmyadmin/config.inc.php" należy dodać znaki w apostrofach po znaku "=", np. do kodu:
$cfg['blowfish_secret'] = '1234ay7890123F567v90Z234';
dodaj tyle znaków, żeby było ich minimum 32, np. (dodaj losowo duże albo małe litery lub cyfry):
$cfg['blowfish_secret'] = '1234ay7890123F567v90Z2345fm8U012';
Testowane w systemach operacyjnych:
Xubuntu 18.04, phpMyAdmin 4.6.
Źródła wiedzy:
{apt, b.d.} [2019-04-03] Całkowite usunięcie serwera MySQL 5.7
Rozwiązanie:
W tym celu należy wykonać następująca komendę:
sudo apt purge mysql-*
sudo apt autoremove
sudo apt-get autoclean
Aby upewnić się, że nie zostały żadne "smieci" po serwerze MySQL, można wydać polecenie:
sudo find / -iname 'mysql*' -exec rm -rf {} \;
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
https://askubuntu.com/questions/1052950/completely-remove-mysql-5-7
https://help.cloud66.com/node/how-to-guides/databases/shells/uninstall-mysql.html
{różne, skróty} [2019-04-03] Wstawianie emoji [Ctrl]+[Shift]+[E]
Rozwiązanie:
Skrót klawiszowy [Ctrl]+[Shift]+[E] służy do wstawiania emoji - piktogramów stosowanych "przez użytkowników Internetu. Podobnie jak emotikony, emoji służą do wyrażania emocji poprzez wizerunki twarzy, ale w przeciwieństwie do nich obejmują również przedmioty, miejsca, rodzaje pogody, rośliny, zwierzęta i służą do uwydatniania wiadomości".
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
{apt} [2019-03-11] Wstawianie kodów Unicode za pomocą skrótu klawiszowego [Ctrl]+[Shift]+[U]
Rozwiązanie:
W systemach z rodziny Ubuntu GNU/Linux można za pomocą skrótu klawiszowego [Ctrl]+[Shift]+[U] wstawiać kody Unicode. Nie zawsze jest to dostępne bezpośrednio po instalacji systemu. W takim przypadku należy:
Zainstalować pakiet "ibus" np. za pomocą polecenia: sudo apt install ibus
Otworzyć okno "Języki" wybierając w głównym menu: "Ustawienia | Języki".
W polu "Metoda wprowadzania znaków za pomocą klawiatury" wybrać "IBus".
Ponownie uruchomić komputer.
Lista kodów Unicode uznanych przeze mnie za przydatne dostępna jest pod następującymi adresami:
Testowane w systemach operacyjnych:
Xubuntu 18.04.2.
Źródło wiedzy:
https://superuser.com/questions/358749/how-to-disable-ctrlshiftu-in-ubuntu-linux
{apt} [2019-02-26] Nie można ustawić wyższych rozdzielczości ekranu - instalacja binarnego sterownika dla karty graficznej
Wyższych rozdzielczości ekranu nie można ustawić zwykle dlatego, że nie jest zainstalowany binarny sterownik graficzny. Aby zainstalować właściwy sterownik, należy dowiedzieć się najpierw jaką kartę graficzną mamy. Można wykorzystać do tego polecenie: sudo lshw (list hardware) służące do wyświetlania znajdującego się w komputerze sprzętu.
PRZYKŁAD 1:
*-display
description: VGA compatible controller
product: GT218 [GeForce 210]
vendor: NVIDIA Corporation
Dla przeciętnego użytkownika Linuksa najlepiej znaleźć gotowy pakiet, np. google.com/search?q=How+to+install+drivers+for+NVIDIA+GT210+in+ubuntu .
W wynikach wyszukiwania można znaleźć podobne pytania na forach - w przypadku powyższego sterownika najprostszym rozwiązaniem jest instalacja poniższego pakietu (można też samemu przygotować i skompilować pakiet, ale jest to zadanie dla zaawansowanych):
sudo apt purge nvidia* # usunięcie poprzednio zainstalowanego sterownika
sudo reboot
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt update
sudo apt install nvidia-340
PRZYKŁAD 2:
Sprzęt:
*-display
description: VGA compatible controller
product: 4 Series Chipset Integrated Graphics Controller
vendor: Intel Corporation
Instalacja sterownika:
sudo apt install mesa-utils
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródła wiedzy:
https://askubuntu.com/questions/527638/how-to-install-drivers-for-nvidia-gt210
https://askubuntu.com/questions/166224/how-do-i-install-the-intel-graphics-driver-in-my-system
{apt} [2019-02-13] Brak dźwięku w Xubuntu GNU/Linux
Rozwiązanie:
Uruchom "Mikser dźwięku" (Kontrola głośności). W tym celu wykonaj poniższe podpunkty:
zainstaluj "pavucontrol" - komenda: sudo apt-get install pavucontrol ;
uruchom "pavucontrol" - komenda: pavucontrol ;
w zakładce "Konfiguracja" (Configuration) wybierz "Wyjście Analogowe stereo" (Analog Stereo Out).
Testowane w systemach operacyjnych:
Xubuntu 18.04.
Źródło wiedzy:
https://askubuntu.com/questions/1029502/no-audio-on-ubuntu-18-04
{różne, linki} [2018-12-29] Sposoby pobierania plików ISO dystrybucji Linuksa
Rozwiązanie:
Serwerowe wersje wybranych dystrybucji Linuksa:
Ubuntu Serwer: ubuntu.com, cdimage.ubuntu.com/releases;
Debian GNU/Linux: debian.org;
Gentoo GNU/Linux: gentoo.org.
Dystrybucje Linuksa w wersji Desktop (oparte o dystrybucję Ubuntu):
Ubuntu Desktop: ubuntu.com, releases.ubuntu.com;
Edubuntu: edubuntu.org, cdimage.ubuntu.com/edubuntu/releases;
Kubuntu: kubuntu.org, cdimage.ubuntu.com/kubuntu/releases;
Lubuntu: , cdimage.ubuntu.com/lubuntu/releases;
Mythbuntu: mythbuntu.org, cdimage.ubuntu.com/mythbuntu/releases;
Ubuntu Budgie: ubuntubudgie.org, cdimage.ubuntu.com/ubuntu-budgie;
Ubuntu GNOME: ubuntugnome.org, cdimage.ubuntu.com/ubuntu-gnome/releases;
UbuntuKylin: ubuntukylin.com, cdimage.ubuntu.com/ubuntukylin/releases;
Ubuntu MATE: ubuntu-mate.org, cdimage.ubuntu.com/ubuntu-mate/releases;
UbuntuStudio: ubuntustudio.org, cdimage.ubuntu.com/ubuntustudio/releases;
Xubuntu: xubuntu.org, cdimage.ubuntu.com/xubuntu/releases.
Więcej: old-releases.ubuntu.com/releases, cdimage.ubuntu.com, Dystrybucje Linuksa (na niniejszej witrynie).
Testowane w systemach operacyjnych:
nie dotyczy
Źródło wiedzy:
wiedza własna
{apt, b.d.} [2018-10-19] Instalacja i konfiguracja Apache+MySQL+PHP+phpMyAdmin (LAMPP) w Xubuntu 18.04.1 LTS (apt)
Rozwiązanie:
Aby zainstalować wszystkie serwery jednym poleceniem, należy wykonać polecenie:
sudo apt update; sudo apt install mysql-server apache2 php phpmyadmin
Serwery można instalować także osobno. Przed rozpoczęciem instalacji należy zaktualizować listę dostępnych pakietów:
sudo apt update;
INSTALACJA SERWERA BAZ DANYCH MYSQL
sudo apt install mysql-server
Najszybszy (i najbardziej podstawowy) sposób zabezpieczenia serwera MySQL przed niepowołanym dostępem to wydanie polecenia:
sudo mysql_secure_installation
W celu rozpoczęcia administrowania serwerem baz danych MySQL należy ustawić hasło administratora. W tym celu należy wykonać następujące polecenia (pogrubione polecenia są konieczne do ustawienia hasła - pozostałe można pominąć):
$ sudo mysql
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'hasło';
mysql> FLUSH PRIVILEGES;
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> quit
$ sudo systemctl status mysql.service
$ sudo service mysql restart
$ mysql -u root -p
INSTALACJA SERWERA WWW
sudo apt install apache2
UWAGA! W trakcie instalacji należy wybrać z listy serwer "apache2" za pomocą klawisza [spacja] na klawiaturze. Dopiero po zaznaczeniu tej opcji naciskamy klawisz [Enter]. Gdy pominiemy naciśnięcie spacji, instalacja nie będzie udana.
Domyślnie, katalog główny serwera WWW w dystrybucjach opartych o Ubuntu GNU/Linux znajduje się w katalogu "/var/www/html".
INSTALACJA I KONFIGURACJA SERWERA PHP (na przykładzie PHP w wersji 7.2)
sudo apt install php php-zip
Powyższa komenda instaluje serwer PHP wraz z modułem do obsługi plików w formacie ZIP - pełną listę modułów dostępnych w PHP 7.2 można wyświetlić poleceniem:
sudo apt-cache search php7.0-*
Pracę serwera PHP można dostosować do własnych potrzeb. Oto moje zmiany konfiguracji w pliku "/etc/php/7.2/apache2/php.ini" (najważniejsze z nich zostały pogrubione):
max_execution_time = 60 # (wiersz: ~383)
max_input_time = 90 # (wiersz: ~393)
error_reporting = E_ALL | E_STRICT # (wiersz: ~460)
display_errors = On # (wiersz: ~477)
post_max_size = 0M # (wiersz: ~672)
upload_max_filesize = 0M # (wiersz: ~825)
Po dokonaniu zmian w powyższym pliku należy ponownie uruchomić serwer WWW. Można to zrobić m. in. za pomocą jednej z następujących komend:
sudo service apache2 restart
sudo systemctl restart apache2
INSTALACJA SERWERA PHPMYADMIN
sudo apt install phpmyadmin
UWAGA! Podczas konfiguracji pakietu NIE WPISUJEMY hasła. Pozwalamy, aby wygenerowało się ono automatycznie, z tego hasła będzie korzystała tylko aplikacja "phpMyAdmin".
SERWER WWW W KATALOGACH DOMOWYCH (w podkatalogu: "~/public_html")
W tym celu należy:
Wykonać komendę: sudo a2enmod userdir .
Jeśli chcemy zmienić nazwę podkatalogu "~/public_html" na inną to należy to zrobić w 2 miejscach w pliku "/etc/apache2/mods-enabled/userdir.conf", ale najlepiej pozostawić tę nazwę.
Aby utworzyć katalog serwera WWW we własnym katalogu domowym można wykonać polecenie: mkdir /home/$USER/public_html .
Aby w katalogach domowych użytkowników działały skrypty PHP, należy zakomentować następujące wiersze w pliku "/etc/apache2/mods-available/php7.2.conf" (plik dla PHP w wersji 7.2):
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_value engine Off
# </Directory>
#</IfModule>
Na koniec należy ponownie uruchomić serwer WWW np. poleceniem: sudo service apache2 restart .
Aby upewnić się, że w katalogach domowych działają skrypty PHP można utworzyć np. następujący plik PHP:
echo '<?php phpinfo(); ?>' > ~/public_html/index.php
Następnie, po wpisaniu w przeglądarce internetowej adresu: "localhost/~nazwa_uzytkownika" powinna pojawić się tabela z informacjami o serwerze PHP.
Testowane w systemach operacyjnych:
Ubuntu 16.04 LTS, Xubuntu 16.04 LTS.
Źródła wiedzy:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04;
https://www.digitalocean.com/community/questions/php-7-0-ziparchive-library-is-missing-or-disabled;
http://www.techytalk.info/enable-userdir-apache-module-ubuntu-debian-based-linux-distributions/.
{apt} [2018-10-17] Instalacja VirtualBox w Xubuntu 18.04 LTS
Rozwiązanie:
Dla wygody program instalujemy wraz z dodatkami:
sudo apt install virtualbox virtualbox-ext-pack virtualbox-guest-additions-iso
Testowane w systemach operacyjnych:
Xubuntu 16.04.5 LTS, Xubuntu 18.04 LTS.
Źródło wiedzy:
https://linuxconfig.org/install-virtualbox-on-ubuntu-18-04-bionic-beaver-linux
{apt} [2018-10-16] Instalacja i konfiguracja Geany (C++ IDE) w Xubuntu 18.04 LTS
Rozwiązanie:
INSTALACJA
Aby programować z użyciem programu "Geany" oraz terminalem o nazwie "terminator", należy zainstalować te programy poleceniem:
sudo apt install geany
INSTALACJA I KONFIGURACJA TERMINALA
Aby zainstalować terminal o nazwie "terminator" należy uzyc poniższej komendy:
sudo apt install terminator
Następnie należy skonfigurować terminal wybierając: "Edycja | Preferencje | Narzędzia" i w polu "Terminal" wpisać np. terminator -e "/bin/sh %c" .
Zamiast terminala "Terminator", można użyć innego terminala, np. "xterm". Wtedy w polu "Terminal" należy wpisać: xterm -e "/bin/sh %c" .
DODAWANIE WŁASNEGO SZABLONU
W tym celu należy utworzyć plik szablonu o wybranej przez siebie nazwie i umieścić go w następującym podkatalogu katalogu domowego: "~/.config/geany/templates/files/witaj.cpp".
BUDOWANIE I URUCHAMIANIE PROGRAMÓW
Budowanie i uruchamianie programów dostępne jest w głównym menu (menu: "Zbuduj") oraz za pomocą skrótów klawiszowych: [F9], a następnie [F5].
SKRÓTY KLAWIATUROWE
[F5] - uruchamianie pliku wykonywalnego.
[F9] - budowanie pliku wykonywalnego;
[F11] - włączenie / wyłączenie pełnego ekranu;
[Ctrl]+[Shift]+[=], [Ctrl]+[-], [Ctrl]+[0] - zmiana wielkości czcionki kodu;
[Ctrl]+[I], [Ctrl]+[U] - zwiększanie / zmniejszanie wcięcia kodu;
[Ctrl]+[B] - znajdowanie nawiasu otwierającego / zamykającego;
[Shift]+[Alt]+[W], [Shift]+[Alt]+[L], [Shift]+[Alt]+[P] - zaznaczenie bieżącego słowa / wiersza / akapitu;
[Ctrl]+[Shift]+[C], [Ctrl]+[Shift]+[X] - kopiowanie / wcinanie do schowka całego bieżącego wiersza;
[Ctrl]+[D] - duplikowanie bieżącego wiersza / zaznaczenia;
[Ctrl]+[E] - zakomentowanie / odkomentowanie zaznaczonych wierszy albo wiersza, w którym jest kursor;
[Ctrl]+[M] - włączenie / wyłączenie wyświetlania znacznika (znak plus z lewej strony) w bieżącym wierszu;
[Ctrl]+[L] - przechodzenie do wiersza o podanym z klawiatury numerze;
[Ctrl]+[←], [Ctrl]+[→] - przechodzenie pomiędzy słowami w lewo / prawo;
[Ctrl]+[↑], [Ctrl]+[↓] - przechodzenie pomiędzy akapitami w górę / dół;
[Ctrl]+[/], [Ctrl]+[\] - przechodzenie pomiędzy fragmentami słów w lewo / prawo;
[Home], [Ctrl]+[Home] - przechodzenie na początek wiersza / dokumentu;
[End], [Ctrl]+[End] - przechodzenie na koniec wiersza / dokumentu;
[Ctrl]+[Page Up], [Ctrl]+[Page Down] - przechodzenie pomiędzy plikami w lewo / prawo;
[Ctrl]+[O], [Ctrl]+[S] - otwarcie pliku / zapisanie bieżącego pliku;
[Ctrl]+[W], [Ctrl]+[Q] - zamknięcie bieżącego dokumentu / zakończenie programu.
Wszystkie dostępne skróty klawiszowe dostępne są w menu: "Edycja | Preferencje | Skróty klawiaturowe". W tym miejscu można także edytować skróty klawiaturowe.
Testowane w systemach operacyjnych:
Xubuntu 16.04.1 LTS, Xubuntu 18.04 LTS.
Źródła wiedzy:
{apt} [2018-10-16] Instalacja i konfiguracja Qt Creator (C++ IDE) w Xubuntu 18.04 LTS
Rozwiązanie:
W tym celu należy wykonać polecenie:
sudo apt install qtcreator qt5-default
Następnie należy wybrać domyślny zestaw narzędzi wybierając następujące opcje:
w głównym menu: "Narzędzia | Opcje...";
na liście z lewej strony wybieramy: "Budowanie i uruchamianie...";
Po prawej stronie wybieramy zakładkę: "Zestawy narzędzi";
Poniżej wybieramy zestaw narzędzi: "Desktop (Default)";
Jeszcze niżej wybieramy także wersję Qt: "Qt %{Qt:Wersja} w PATH (qt5)".
Testowane w systemach operacyjnych:
Xubuntu 18.04 LTS.
Źródło wiedzy:
https://stackoverflow.com/questions/26499404/qtcreator-no-valid-kits-found
{apt} [2018-10-16] Instalacja i konfiguracja Code::Blocks (C++ IDE) w Xubuntu 18.04 LTS
Rozwiązanie:
Aby programować z użyciem programu "Code::Blocks" oraz terminalem o nazwie "terminator", należy zainstalować te programy poleceniem:
sudo apt install codeblocks terminator
Następnie należy skonfigurować terminal wybierając: "Settings | Environment | General settings" i w polu "Terminal to launch console programs" wpisać np. terminator -T $TITLE -x (pole to to lista rozwijana, na której można znaleźć więcej terminalów do uruchomienia).
Budowanie i uruchamianie programów dostępne jest w głównym menu (menu: "Build"), a także za pomocą przycisku "Build and run" oraz za pomocą skrótu klawiszowego [F9].
UWAGA! Ze względu na występowanie w tym oprogramowaniu błędów zamykających bez ostrzeżenia okno programu bez zapisania zmian, nie zaleca się stosowania tego programu.
Testowane w systemach operacyjnych:
Xubuntu 16.04.1 LTS, Xubuntu 18.04 LTS.
Źródło wiedzy:
Wiedza własna
{conf} [2018-09-13] Instalacja obsługi serwera WWW w katalogach domowych użytkowników (userdir) w Xubuntu 18.04 LTS
W tym celu instalujemy odpowiedni moduł:
a2enmod userdir
Od teraz katalog "~/public_html" staje się katalogiem głównym serwera WWW dla bieżącego użytkownika.
Aby wyświetlić stronę WWW o nazwie "~/public_html/index.html", w przeglądarce WWW należy wpisać adres: "localhost/~nazwa_uzytkownika/index.html" albo po prostu "localhost/~nazwa_uzytkownika".
W katalogach domowych użytkowników język PHP jest domyślnie niedostępny. Aby go aktywować, w pliku "/etc/apache2/mods-enabled/php7.2.conf" należy zmienić wpis:
php_admin_flag engine Off
na:
php_admin_flag engine On
Na koniec należy ponownie uruchomić serwer "apache2":
/etc/init.d/apache2 restart
Testowane w systemach operacyjnych:
Xubuntu 18.04 LTS.
Źródło wiedzy:
https://linuxiarz.pl/967/wlaczenie-userdir-w-apache2/
{conf} [2018-09-13] Ukrycie nazw wybranych użytkowników na liście użytkowników w oknie logowania (lightdm, Xubuntu 18.04 LTS)
Rozwiązanie:
W katalogu "/var/lib/AccountsService/users" należy utworzyć plik o takiej samej nazwie, jak nazwa użytkownika, którego chcemy ukryć i wstawić do tego plików następującą opcję:
[User]
SystemAccount=true
Na koniec należy ponownie uruchomić okno logowania.
sudo /etc/init.d/lightdm restart
Testowane w systemach operacyjnych:
Xubuntu 18.04 LTS.
Źródło wiedzy:
https://askubuntu.com/questions/92349/how-do-i-hide-a-particular-user-from-the-login-screen
{conf} [2018-09-13] Ukrycie ikony i tapety użytkownika oraz własny format wyświetlania czasu w oknie logowania (lightdm, Xubuntu 18.04 LTS)
Rozwiązanie:
W pliku "/etc/lightdm/lightdm-gtk-greeter.conf" należy wstawić następujące opcje:
[greeter]
user-background=false
hide-user-image=true
clock-format=%A, %d %B %Y, %H:%M:%S
Opcja "clock-format", ustawiająca format czasu, wykorzystuje funkcję "strftime" występującą m. in. w języku C++ (patrz: więcej na ten temat).
Testowane w systemach operacyjnych:
Xubuntu 18.04 LTS.
Źródło wiedzy:
Komentarze w pliku: "/etc/lightdm/lightdm-gtk-greeter.conf"
{conf} [2018-09-05] Usuwanie błędnego klucza publicznego połączenia SSH ze zdalnym komputerem
Rozwiązanie:
Publiczne klucze połączeń SSH znajdują się w pliku "~/.ssh/known_hosts". Najprostszy sposób to usunięcie tego pliku:
rm -f .ssh/known_hosts
Mozna także usuwać wpisy poszczególnych hostów. Służy do tego polecenie:
ssh-keygen -R "hostname"
Testowane w systemach operacyjnych:
Xubuntu 18.04 LTS
Źródła wiedzy:
https://superuser.com/questions/30087/remove-key-from-known-hosts
http://blog.stelmisoft.pl/2010/jak-usunac-bledny-klucz-serwera-z-pliku-known_hosts/
{conf} [2018-08-31] Aliasy na stałe z przydatnymi przykładami
Rozwiązanie:
W tym celu należy utworzyć plik o nazwie "~/.bash_aliases" (plik ukryty w katalogu domowym), a w nim umieścić polecenia potrzebnych nam aliasów, np.:
alias sau="sudo apt update; sudo apt upgrade"
alias saa="sudo apt autoremove"
alias sai="sudo apt install"
alias sap="sudo apt purge"
Aby aliasy działały należy powtórnie otworzyć okno terminala (bez wylogowywania ani restartowania systemu).
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS, Xubuntu 18.04 LTS.
Źródło wiedzy:
https://ubuntu.pl/forum/viewtopic.php?t=59307
{bash} [2018-05-20] Komenda "watch", czyli wykonywanie polecenia Linuksa w określonych odstępach czasu
Rozwiązanie:
Polecenie "watch" wykonuje inne polecenia w określonych odstępach czasu na pełnym ekranie, co daje wrażenie, że wykonywany program działa cały czas. Oto przykłady użycia tej komendy:
"watch -d date" - wykonuje polecenie "date" co 2 sekundy (wartość domyślna) i podświetla ostatnie zmiany;
"watch -d=cumulative 1 date" - wykonuje polecenie "date" co 2 sekundy (wartość domyślna) i podświetla zmiany w sposób skumulowany (raz podświetlona zmiana pozostaje podświetlona przez cały czas);
"watch -n 1 date" - wykonuje polecenie "date" co 1 sekundę;
"watch -t date" - wykonuje polecenie "date" co 2 sekundy (wartość domyślna) bez wyświetlania nagłówka informacyjnego programu "watch";
"watch --help" - powoduje wyświetlenie wszystkich opcji programu "watch".
Aby zakończyć pracę z programem "watch", wystarczy nacisnąć skrót klawiszowy: [Ctrl]+[C].
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS
Źródła wiedzy:
{apt} [2018-04-29] Odzyskiwanie usuniętych z kosza plików, a także całych partycji w systemie Linux
Rozwiązanie:
Używamy do tego specjalnego programu. Jednym z nich jest program "TestDisk", który instalujemy w "Xubuntu 16.04 LTS" poleceniem:
sudo apt install testdisk
Po zainstalowaniu pakietu, mamy do dyspozycji następujące aplikacje konsolowe:
aplikację "testdisk" - do odzyskiwania całych partycji (polecenie "testdisk"),
aplikację "photorec" - do odzyskiwania plików usuniętych z kosza (polecenie: "photorec").
Po uruchomieniu tych aplikacji wystarczy kierować się wskazówkami wyświetlanymi przez program w języku angielskim.
Inne programy tego typu (nie testowałem ich) to m. in.:
Ddrescue.
Ubuntu Rescue Remix - bootowalna płyta LiveCD zawierająca niektóry z powyższych programów (m. in. Ddrescue, TestDisk, Photorec, Foremost).
SpinRite (komercyjny - potrafi odzyskać plik z błędnych sektorów dysku).
HDAT2.
Recuva.
Foremost.
Parted Magic.
Recover my Files.
Więcej na ten temat w źródłach wiedzy.
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródła wiedzy:
{gui} [2017-12-13] Ustawianie formatu zegara systemowego dla środowiska graficznego Xfce
Rozwiązanie:
W tym celu kliknij prawym klawiszem myszy na zegarze i wybierz opcję "Właściwości". Następnie ustaw wartość pola "Format" na "Własny" i w polu edycyjnym znajdującym się poniżej ustaw własny format według zasad dostępnych po wpisaniu komendy "man date", np.:
"%F" albo "%Y-%m-%d" spowoduje wyświetlanie bieżącej daty, np. "2017-12-13";
"%T" albo "%H:%M:%S" spowoduje wyświetlanie bieżącego czasu, np. "10:52:43";
"%c" albo "%a, %d %b %Y, %H:%M:%S" spowoduje wyświetlanie bieżącej daty i bieżącego czasu ze skróconymi nazwami dni tygodnia i miesięcy, np. "śro, 13 gru 2017, 10:52:43";
"%A, %d %B %Y, %H:%M:%S" spowoduje wyświetlanie bieżącej daty i bieżącego czasu z pełnymi nazwami dni tygodnia i miesięcy np. "środa, 13 grudzień 2017, 10:52:43".
Więcej na ten temat można znaleźć m. in. pod adresem: http://docs.xfce.org/xfce/xfce4-panel/clock.
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
http://docs.xfce.org/xfce/xfce4-panel/clock
{gui} [2017-10-12] Kolorowanie składni w edytorze tekstu "Mousepad"
Rozwiązanie:
W tym celu w menu: "Widok | Zestaw kolorów" wybieramy inną opcję niż "Brak", np. "Klasyczny".
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS, Lubuntu 16.04 LTS.
Źródło wiedzy:
wiedza własna
{conf} [2017-09-28] Zmiana nazwy hosta (komputera) w Xubuntu 16.04 LTS
Rozwiązanie:
W tym celu zmieniamy nazwę hosta na nową w następujących 2 plikach:
/etc/hostname (wiersz 1), np.
LINUX
/etc/hosts (wiersz 2), np.
127.0.0.1 localhost
127.0.1.1 LINUX
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
http://www.lucidarme.me/?p=4061
{skróty} [2017-09-28] Używanie kombinacji klawiszy Ctrl+Alt+Delete oraz Ctrl+Alt+F1, ..., Ctrl+Alt+F12 w programie VirtualBox
Zamiast kombinacji klawiszy [Ctrl]+[Alt] wybieramy klawisz [Host], którym domyślnie jest [Prawy Ctrl].
----------------------------------------------------
Klawisz skrótu Klawisz skrótu w VirtualBox
----------------------------------------------------
[Ctrl]+[Alt]+[Delete] [Host]+[Delete]
----------------------------------------------------
[Ctrl]+[Alt]+[F1] [Host]+[F1]
[Ctrl]+[Alt]+[F1] [Host]+[F2]
... ...
[Ctrl]+[Alt]+[F1] [Host]+[F11]
[Ctrl]+[Alt]+[F1] [Host]+[F12]
----------------------------------------------------
W testowanej przez mnie wersji programu VirtualBox 5.0.40, skróty te działały zarówno w oknie, jak i na pełnym ekranie.
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS (VirtualBox 5.0.40).
Źródło wiedzy:
https://askubuntu.com/questions/542328/send-ctrlaltf1-crtlaltf7-into-virtualbox
{apt} [2017-09-28] Instalacja LAMPP w systemach z rodziny Ubuntu Linux (apt)
Rozwiązanie:
Domyślnie, katalog główny serwera WWW w dystrybucjach opartych o Ubuntu GNU/Linux znajduje się w katalogu "/var/www/html".
Najwygodniej użyć do tego komendy "apt":
Do działania serwera WWW bez obsługi PHP wystarczy polecenie: sudo apt update; sudo apt install apache2.
Do działania serwera WWW z obsługą PHP, ale bez obsługi MySQL należy dodatkowo wykonać polecenie: sudo apt install php libapache2-mod-php.
Aby mieć pełna funkcjonalność (apache2 + php + mysql + phpmyadmin) należy dodatkowo wykonać polecenie: sudo apt install mysql-server php-mysql phpmyadmin.
Jeśli chcemy mieć dodatkowo możliwość tworzenia katalogów serwera WWW w podkatalogu katalogu domowego każdego z użytkowników (domyślnie jest to katalog "~/public_html"), należy wykonać dodatkowo poniższe instrukcje: sudo a2enmod userdir.
Jeśli chcemy zmienić nazwę podkatalogu "~/public_html" na inną to należy to zrobić w 2 miejscach w pliku "/etc/apache2/mods-enabled/userdir.conf".
Aby utworzyć katalog serwera WWW we własnym katalogu domowym można wykonać polecenie: mkdir /home/$USER/public_html. Na koniec należy ponownie uruchomić serwer WWW poleceniem: sudo service apache2 restart.
Aby w katalogach domowych użytkowników działały skrypty PHP, należy zakomentować następujące wiersze w pliku "/etc/apache2/mods-available/php5.conf", co jest zresztą opisane w komentarzu znajdującym się w tym pliku powyżej:
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_value engine Off
# </Directory>
#</IfModule>
Instalacje można wykonać także za pomocą programu "Centrum oprogramowania Ubuntu".
Testowane w systemach operacyjnych:
Ubuntu 16.04 LTS, Xubuntu 16.04 LTS.
Źródła wiedzy:
{apt} [2017-09-28] Instalowanie serwerów: MySQL oraz WWW i PHP w Xubuntu 16.04 LTS
Rozwiązanie:
Instalacja serwera MySQL:
sudo apt-get install mysql-server
Instalacja serwera WWW:
sudo apt-get install apache2
Instalacja serwera PHP:
sudo apt install php libapache2-mod-php php-mysql # te pakiety są wymagane
sudo apt install php-mcrypt php-zip php-gd # te pakiety są opcjonalne (niewymagane)
Konfiguracja pliku "/etc/php/7.0/apache2/php.ini":
display_errors = On
post_max_size = 0
upload_max_filesize = 0
Instalacja serwera phpMyAdmin
sudo apt-get install phpmyadmin
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
{apt} [2017-07-31] Sprawdzanie zależności dotyczących zainstalowanego pakietu
Rozwiązanie:
Aby rekursywnie sprawdzić zależności dotyczące zainstalowanego pakietu, użyj polecenia:
sudo apt install apt-rdepends
apt-rdepends nazwa_pakietu
W celu sprawdzenia poprawności zainstalowanego pakietu, użyj polecenia:
apt-cache policy nazwa_pakietu
Testowane w systemach operacyjnych:
Ubuntu 14.04 LTS.
Źródło wiedzy:
{bash} [2017-07-31] Sprawdzanie dystrybucji, wersji oraz wersji jądra systemu operacyjnego Linux
Rozwiązanie:
Aby sprawdzić nazwę i wersję dystrybucji systemu, użyj polecenia:
lsb_release -a
cat /etc/lsb-release
cat /etc/issue
cat /etc/linuxmint/info
cat /etc/debian_version
cat /etc/redhat-release
cat /etc/centos-release
Aby sprawdzić wersję jądra systemu, użyj polecenia:
uname -a
cat /proc/version
Testowane w systemach operacyjnych:
Ubuntu 14.04 LTS.
Źródła wiedzy:
http://www.ubuntu-pomoc.org/sprawdzenie-wersji-systemu-oraz-jadra
http://kb.rootbox.com/jak-sprawdzic-wersje-systemu-zainstalowanego-na-serwerze-rootbox
http://linuxomaniak.yum.pl/jak_sprawdzic_wersje_dystrybucji_linux
{apt} [2017-06-15] W programie Gwenview zainstalowanym w Xubuntu 16.04 LTS nie działa eksploracja plików
Rozwiązanie:
Gwenview należy zainstalować wraz z pakietem "kio" i do tego doinstalować ikony "oxygen" (ikony staną się widoczne):
sudo apt install gwenview kio
sudo apt install oxygen-icon-theme*
Jeżeli to nie zadziała, to można spróbować też doinstalować pakiety: "kinit", "kdelibs-bin" ,"kded5", "kinfocenter":
sudo apt install kded5
sudo apt install kdelibs-bin
sudo apt install kinit
sudo apt install kinfocenter
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródła wiedzy:
https://bugs.launchpad.net/ubuntu/+source/gwenview/+bug/1529873
https://askubuntu.com/questions/695409/kate-is-missing-all-button-icons
{conf} [2017-03-14] Włączanie obsługi przekierowań ".htaccess" na serwerze WWW Apache
Rozwiązanie:
Najpierw należy zmodyfikować następującą zawartość pliku "/etc/apache2/apache2.conf":
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
na:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Na koniec ponownie uruchamiamy serwer WWW Apache za pomocą polecenia:
sudo service apache2 restart
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
{bash} [2017-03-14] Pętla "for" w powłoce systemowej "bash"
Rozwiązanie w stylu C/C++:
for ((i=1; i<=10; i++)); do echo " Iteracja nr: $i"; done
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
{bash} [2017-03-12] Raport logowań użytkowników i ich czasów pracy po zalogowaniu
Rozwiązanie:
Aby wyświetlić raport udanych logowań, należy użyć komendy:
last
last -f /var/log/wtmp # udane logowania w bieżącym miesiącu
albo
last -f /var/log/wtmp.1 # udane logowania w poprzednim miesiącu
Nieudane logowania ujrzymy po użyciu komendy:
lastb
lastb -f /var/log/btmp # nieudane logowania w bieżącym miesiącu
albo
lastb -f /var/log/btmp.1 # nieudane logowania w poprzednim miesiącu
Domyślnie usuwana jest informacja o logowaniach starszych, niż poprzedni miesiąc.
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródła wiedzy:
http://www.ubuntu-pomoc.org/wyswietlenie-historii-logowan-do-systemu/
https://tomaszzackiewicz.wordpress.com/2013/04/15/monitorowanie-systemu/
https://www.cyberciti.biz/faq/linux-unix-last-command-examples/
http://askubuntu.com/questions/443206/how-to-read-older-login-info-using-the-last-command
{apt} [2017-03-12] Rozpoznawanie w Linuksie pisma na obrazach (gImageReader, OCR)
Rozwiązanie:
Aby w Linuksie móc rozpoznawać pismo na obrazkach (OCR), należy zainstalować program "gImageReader" wraz z "tesseract", czyli otwartoźródłowym systemem OCR ze słownikami dla większości języków świata.
W tym celu należy wydać nastepującą komendę:
sudo apt install gimagereader tesseract-ocr tesseract-ocr-eng tesseract-ocr-osd tesseract-ocr-pol
Testowane w systemach operacyjnych:
Ubuntu 16.04 LTS, Xubuntu 16.04 LTS.
Źródła wiedzy:
{conf} [2017-03-12] Ukrycie ikony i tapety użytkownika w oknie logowania (lightdm, Xubuntu)
Rozwiązanie:
Należy następująco ustawić zawartość pliku "/etc/lightdm/lightdm-gtk-greeter.conf":
[greeter]
hide-user-background=1
hide-user-icon=1
Testowane w systemach operacyjnych:
Ubuntu 16.04 LTS, Xubuntu 16.04 LTS.
Źródło wiedzy:
https://wiki.ubuntu.com/LightDM
{gui} [2017-03-12] Nie działa prawidłowo przeciąganie ikon na pulpicie Xubuntu (ikony niekiedy przypadkowo wpadają do katalogów)
Rozwiązanie:
Ustaw następującą opcję w ustawieniach:
Ustawienia | Wygląd | Czcionki | Przyciąganie do siatki: Pełne
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
wiedza własna
{apt, gui} [2017-03-12] Pozyskanie dodatkowych apletów pulpitu dla środowiska graficznego Xfce w Xubuntu 16.04 LTS
Rozwiązanie:
sudo apt install xfce4-goodies
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
http://www.ubuntu-pomoc.org/instalacja-srodowiska-graficznego-xfce/
{apt} [2017-03-12] Instalacja obsługi formatu Flash w Xubuntu 16.04 LTS
Rozwiązanie:
Należy wykonać następującą komendę:
sudo apt install flashplugin-installer
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
http://ubuntuhandbook.org/index.php/2014/04/install-adobe-flash-in-ubuntu-14-04-lts/
{apt} [2017-03-12] Instalowanie Qt Creator w Xubuntu 16.04 LTS
Rozwiązanie:
W tym celu wystarczy wykonać polecenie:
sudo apt install qtcreator qt5-default qt5-doc qtbase5-examples qt5-doc-html qtbase5-doc-html
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy:
http://www.lucidarme.me/?p=4061
{apt} [2017-03-12] Instalacja obsługi archiwów w formacie ZIP w Xubuntu 16.04 LTS
Rozwiązanie:
W tym celu wystarczy wykonać polecenie:
sudo apt install p7zip-full
Testowane w systemach operacyjnych:
Xubuntu 16.04 LTS.
Źródło wiedzy: