środa, 16 grudnia 2015

TVN Player w Linux Mint 17.3

Opisane kroki powinny zadziałać nie tylko w Mincie, ale również w Ubuntu 14.04 i wyższym.
  1. Instalujemy wtyczkę Pipelight zgodnie z instrukcją umieszczoną na stronie twórców Installation - Ubuntu, czyli wydajemy polecenia w terminalu:
  2. sudo add-apt-repository ppa:pipelight/stable
    sudo apt-get update
    sudo apt-get install --install-recommends pipelight-multi
    sudo pipelight-plugin --update
  3. Aktywujemy wtyczkę Silverlight 5.0 wg instrukcji, czyli w terminalu:
  4. sudo pipelight-plugin --disable silverlight5.1 --enable silverlight5.0
  5. Otwieramy przeglądarkę Firefoks i czekamy spokojnie bardzo, aż skonfiguruje się Wine i wtyczka Silverlight. Zamykamy przeglądarkę.
  6. Tworzymy profil dla przeglądarki Firefoks:
  7. sudo pipelight-plugin --create-mozilla-plugins
  8. Uruchamiamy Firefoksa ponownie i upewniamy się, że żadne rozszerzenie blokujące reklamy czy serwisy śledzące nie jest włączone - poświęcamy prywatność, bo chcemy cennego contentu. A więc jeżeli mamy jakiś dodatek typu AdBlock, uBlock, LightBeam czy cokolwiek, otwieramy "Dodatki" np. wpisując na pasku adresu "about:addons", i klikamy po kolei "Wyłącz". Jeszcze raz restartujemy przeglądarkę i cieszymy się kolejnym odcinkiem "Na Wspólnej".

środa, 15 maja 2013

Brzydkie czcionki w Linuksie

Na wielu forach internetowych można natknąć się na wpisy, w których użytkownicy systemów opartych na Linuksie narzekają na sposób renderowania czcionek. Biorąc pod uwagę liczbę możliwych konfiguracji kart graficznych i monitorów, nie powinno to dziwić. A propos, w systemie Windows (7, 8, ale nie pod XP(!)) również dzieją się takie rzeczy, np. w konfiguracjach zintegrowanej grafiki AMD ATI i niektórych monitorów (np. Samsunga) o natywnej rozdzielczości 1366x768.

Środowisko XFCE

W środowisku XFCE wybieramy Ustawienia/Wygląd/Czcionki. Włączamy, jeżeli nie zaznaczono, "Antyaliasing", i eksperymentujemy z ustawieniami "Przyciąganie do siatki" oraz "Układ podpikseli" – tu zazwyczaj ustawiamy "RGB". Jako czcionkę interfejsu polecić można "Liberation Sans" lub "Droid Sans".

Archlinux

Jeżeli ustawienia oferowane przez środowisko nie zaspokajają potrzeb, spróbujmy doinstalować pakiety dostępne w repozytorium AUR, zawierające biblioteki i konfiguracje czcionek z Ubuntu.
Na początku warto zainstalować menedżera pakietów obsługującego repo AUR, może to być np. packer (używany domyślnie np. w Bridge Linux) lub yaourt. Wybrany menedżer trzeba zainstalować ręcznie:
  • sudo pacman -S base-devel – instalujemy pakiet deweloperski
  • mkdir ~/builds – tworzymy katalog roboczy do zbudowania pakietu instalacyjnego
  • pobieramy archiwum (tarball) wybranego menedżera i zapisujemy w utworzonym powyżej katalogu
  • cd ~/builds; tar -xvzf packer(yaourt).tar.gz – rozpakowujemy pobrane archiwum
  • makepkg -s – tworzymy pakiet instalacyjny godząc się na zainstalowanie (-s) potrzebnych zależności
  • sudo pacman -U packer.x.pkg.tar.xz – instalujemy utworzoną paczkę
Od tej pory do instalacji pakietów z AUR (i nie tylko) możemy używać zainstalowanego menedżera. Aby zainstalować wspomniane wyżej pakiety do obsługi czcionek wydajemy polecenia:
  • sudo packer (yaourt) -S fontconfig-ubuntu freetype2-ubuntu cairo-ubuntu libxft-ubuntu
Podczas budowania pakietów wciskamy 'n' na pytania, czy chcemy przeglądać skrypty budujące, oraz 't' na pytanie, czy zainstalować pakiet i ewentualnie zastąpić pakiety standardowe (mają takie same nazwy, ale bez przyrostka "-ubuntu").
W razie problemów zawsze warto przeczytać artykuł nt. konfiguracji czcionek w Archu. Przywrócenie oryginalnych pakietów umożliwia polecenie:
  • sudo pacman -S --asdeps fontconfig freetype2 cairo libxft

Debian

Prostym sposobem na poprawę  jakości wyświetlania czcionek w jest podmienienie konfiguracji czcionek plikami z pakietu przygotowanego dla Ubuntu.
  • ściągamy pakiet fontconfig-config z ostatniego wydania Ubuntu (teraz: 13.04)
  • sudo cp -r /etc/fonts /etc/fonts.debian – archiwizujemy konfigurację Debiana
  • dpkg -x fontconfig-config_2.10.2-0ubuntu2_all.deb ~/tmp – rozpakowujemy pakiet instalacyjny do utworzonego wcześniej katalogu
  • sudo cp -r ~/tmp/etc/fonts /etc – kopiujemy pliki konfiguracyjne
  • sudo chown -R root:root /etc/fonts – ustawienie właściwych uprawnień
Dwie ostatnie operacje łatwiej wykonać za pomocą konsolowego menedżera Midnight Commander. Po ponownym zalogowaniu się i ewentualnym dostrojeniu ustawień (patrz wyżej), jakość czcionek powinna się poprawić.

środa, 8 maja 2013

Archlinux - brak ikon w Evince 3.8

Wraz z aktualizacją środowiska Gnome do wersji 3.8, uaktualnieniu podlega również wykorzystywana również w instalacjach z innymi środwiskami przeglądarka plików pdf Evince, w wyniku czego program uruchamia się bez ikon, tzn. zamiast oznaczeń narzędzi na pasku widoczne są czerwone krzyżyki. Rozwiązanie jest proste, należy ponownie zainstalować bibliotekę librsvg: sudo pacman -S librsvg.

wtorek, 26 marca 2013

Nginx + php + userdir

W Nginx nie zaimplementowano mechanizmu userdir, znanego z serwera Apache, który w prosty sposób umożliwia uruchamianie skryptów php w katalogach użytkowników. Uczyniono tak ze względów bezpieczeństwa. Niemniej jednak czasami przydaje się taka funkcjonalność, np. do celów testowych, a więc nauki programowania w php. Poniżej konfiguracja działająca na Debianie/Ubuntu i Archu/Bridge'u:

server {
  listen   80;
  access_log  /var/log/nginx/localhost.access.log;
  index index.php index.html index.htm;

  server_name localhost;
  autoindex on;

  location ~ ^/~([^/]+)/(.+\.php)$ {
    include fastcgi_params;
    alias /home/$1/public_html/$2;
    fastcgi_pass unix:/var/run/php5-fpm.sock; # dla Debiana, Ubuntu
    fastcgi_pass unix:/run/php-fpm/php-fpm.sock; # dla Bridge'a
    fastcgi_index index.php;
  }

  location ~ ^/~(.+?)(/.*)?$ {
    alias /home/$1/public_html$2;
  }

  location ~ /\.ht { deny all; }
  location ~ /\. { deny all; }
}

W Debianie/Ubuntu powyższa konfiguracja powinna zostać zapisana w jakimś pliku (np. userdir) w katalogu /etc/nginx/sites-available, a następnie dowiązana w katalogu /etc/nginx/sites-enabled. W Archu/Bridge'u dopisujemy to w pliku /etc/nginx/nginx.conf.
Uwaga: powyższa konfiguracja nie jest bezpieczna, nadaje się wyłącznie do celów testowych. Jeśli chcesz więcej wiedzieć, zajrzyj na stronę wiki projektu Nginx.

wtorek, 5 lutego 2013

Archlinux - problemy z weryfikacją pakietów podczas instalacji

Pacman, domyślny menedżer pakietów w Archu, umożliwia weryfikowanie pakietów na podstawie podpisów, niestety niekiedy mechanizm ten sprawia problemy. Co można zrobić?
Pierwsza rzecz to wydać polecenie pacman-key --refresh-keys, które powinno zaktualizować lokalną bazę kluczy. Notabene odświeżenie kluczy zapewnia również instalacja pakietu archlinux-keyring. Jeżeli to nie pomoże, spróbuj zmienić repozytorium w /etc/pacman.d/mirrorlist. Jeżeli i to nie pomoże, można spróbować następujących kroków:

  1. W pliku konfiguracyjnym pacman.conf tymczasowo wyłączamy weryfikację pakietów dla repozytoriów core, extra i community, czyli wpisujemy SigLevel = Never,
  2. rm -R /etc/pacman.d/gnupg - usunięcie katalogu z kluczami,
  3. rm /var/cache/pacman/pkg/* - opróżnienie cachu pakietów, wymagane, gdyż w przeciwnym razie mogą wystąpić błędy mówiące o uszkodzonych pakietach,
  4. w tym miejscu trzeba czasem zmienić serwer, z którego pobierane są pakiety (zajrzyj do pliku /etc/pacman.d/mirrolist),
  5. pacman -Syu archlinux-keyring - instalujemy aktualne klucze Archa,
  6. pacman-key --init - przygotowanie lokalnej bazy kluczy, podczas tej operacji warto w innych konsolach wydać polecenie ls -R / oraz poruszać i poklikać myszą, co przyśpieszy generowanie entropii; można też zainstalować pakiet haveged i poprzedzić inicjalizację poleceniem haveged -w 1024,
  7. pacman-key --populate archlinux - inicjalizacja kluczy, podczas której należy potwierdzić zaufanie dla kluczy głównych deweloperów wciskając "T" + Enter (samo Enter nie wystarczy!),
  8. W pliku pacman.conf przywracamy weryfikację podpisów, czyli ustawiamy SigLevel = PackageRequired dla poszczególnych repozytoriów,
  9. pacman -Syyu - odświeżenie list pakietów i aktualizacja systemu.

Jeżeli powyższe kroki nie umożliwią bezproblemowej instalacji pakietów, pozostaje wspomniana opcja SigLevel = Never. To rozwiązanie ostateczne, wyłącza przecież weryfikację podpisów pakietów, nie jest więc polecenie, ale czasem przydaje się, żeby "awaryjnie" zainstalować jakiś pakiet.

Niestety, zdarzyło się ostatnio kilka razy po zainstalowaniu najnowszego Bridge Linuksa, że powyższe porady nie przyniosły oczekiwanego skutku. Ciągle pozostawał jeden pakiet, co do którego pojawiała się informacja mówiąca o jego uszkodzeniu. Rozwiązanie było następujące: usunięcie problematycznego pakietu wg sugestii pacmana, tymczasowa zmiana serwera, zainstalowanie opornego pakietu, przywrócenie poprzedniego serwera (notabene niekonieczne, ale był szybszy) i dalsza instalacja (aktualizacja).

czwartek, 10 stycznia 2013

Problemy z Dnsmasq

Opis konfiguracji Dnsmasq na serwerze Ubuntu 12.04 LTS znajduje się tutaj. Czasem jednak nie wszystko do końca działa, jak trzeba. Dobrze skonfigurowany Dnsmasq powinien zapewniać rozwiązywanie nazw hostów podpiętych do lokalnej sieci. Można to osiągnąć stosując adresowanie statyczne IP oraz dopisując aliasy hostów w pliku /etc/host na serwerze. Plik ten jest następnie propagowany do hostów w sieci lokalnej. Jeżeli jednak chcemy korzystać z adresowania dynamicznego (co nie przeszkadza oczywiście adresować wybranych hostów statycznie) i mieć możliwość rozwiązywania lokalnych nazw, musimy sprawdzić kilka rzeczy, na co zwraca uwagę m.in. FAQ Dnsmasqa.
  1. Upewniamy się, że na interfejsie, na którym nasłuchujemy żądań z sieci lokalnej jest dobrze ustawiony adres broadcast, który w systemach opartych na debianie ustawiamy w /etc/network/interfaces; polecenie sudo ip addr pozwoli sprawdzić poprawność ustawień.
  2. Porty 67 i 68 dla protokołu UDP oraz ruch dla pakietów broadcast z adresem źródłowym 0.0.0.0 i adresem przeznaczenia 255.255.255.255 powinny być odblokowane w firewallu na interfejsie lokalnym. Jeżeli w sieci mamy MS Vistę, to do firewalla dodajemy:
    iptables -A OUTPUT -o $INTIF -p udp -s $INTIP --sport 67 -d $UNIVERSE --dport 68 -j ACCEPT
    - gdzie $INTIF to nazwa interfejsu LAN, np. eth1, $INTIP - adres IP naszego serwera DHCP, $UNIVERSE - dowolny adres, czyli 0.0.0.0/0 (zobacz przykładową konfigurację firewalla).
  3. W przypadku systemów Windows XP zaleca się we właściwościach lokalnego połączenia sieciowego podać nazwę lokalnej domeny, czyli Panel sterowania / Połączenia sieciowe, prawy klik na połączeniu lokalnym i Właściwości / Protokół internetowy TCP/IP / Właściwości / Zaawansowane / DNS / Sufiks DNS dla tego połączenia: .mojadomena.org.
  4. Dystrybucje linuksa korzystają zazwyczaj z dwóch różnych klinetów dhcp. Jest to albo dhcpcd - z nim nie ma problemu, tzn. domyślnie wysyła do serwera nazwę hosta, albo dhclient, który jest również domyślnie wykorzystywany przez ostatnie wersje Network Managera, np. w Archu. W tym ostatnim przypadku musimy utworzyć plik /etc/dhclient.conf i wpisać w nim linię: send host-name = pick-first-value(gethostname(), "ISC-dhclient"); lub po prostu: send host-name = mojhost;.
  5. Warto dodać, że Network Manager na stacjach roboczych z Archem, podpiętych do sieci lokalnej za pomocą kabla, nie jest potrzebny. Możemy go odinstalować za pomocą polecenia: pacman -Rns networkmanager network-manager-applet. Pamiętać tylko trzeba, żeby uruchamiać domyślnie usługę dhcpcd, czyli: systemctl enable dhcpcd@eth0.service.

piątek, 21 grudnia 2012

Archlinux - konfiguracja


Po zainstalowaniu "czystego" Archa, co opisałem w poprzednim poście, czas na dostosowanie go do własnych potrzeb. Poniżej pokazuję, jak doinstalować i skonfigurować środowisko graficzne i programy użytkowe potrzebne w codziennej pracy. Wszystko wykonujemy po zalogowaniu się na konto roota.

Instalacja

Uwaga: znak ";" oznacza zatwierdzenie komendy, czyli naciśnięcie Enter; po znakach "#" umieszczono komentarze do poleceń.
  1. pacman -S sudo; visudo; #odkomentowujemy wpis %wheel ALL=(ALL) NOPASSWD: ALL, dzięki czemu zwykły użytkownik dodany do grupy wheel będzie mógł wykonywać polecenia administracyjne z użyciem sudo 
  2. pacman -S xorg-server xorg-xinit xorg-server-utils xterm mesa xf86-video-vesa xf86-video-... #instalacja serwera X, biblioteki grafiki 3D oraz sterownika karty graficznej, zamiast kropek trzeba wpisać: intel, nouveau lub ati; jeżeli ktoś ma wątpliwości lub starszy sprzęt powinien zajrzeć do podręcznika instalacji
  3. pacman -S alsa-utils lxdm xfce4 xfce4-goodies gvfs-smb xdg-user-dirs gksu #instalacja grfaicznego menedżera logowania (lxdm) oraz środowiska xfce4 i kilku narzędzi
  4. pacman -S ttf-dejavu ttf-liberation cantarell-fonts ttf-droid #podstawowe czcionki
  5. pacman -S mc p7zip zip unzip unrar file-roller #menedżer plików i archiwów
  6. pacman -S gtk-engine-murrine gtk-engine-unico #silniki tematów graficznych
  7. pacman -S leafpad evince gpicview vlc gimp gstreamer0.10-plugins audacious #instalacja edytora tekstów, przeglądarki pdf i plików graficznych oraz obsługi multimediów
  8. pacman -S chromium jre7-openjdk icedtea-web-java7 flashplugin #przeglądarka, obsługa javy i flasha 
  9. pacman -S libreoffice mythes mythes-pl hunspell hunspell-pl hyphen hyphen-pl #instalacja pakietu biurowego, podczas wyboru składników można pominąć pakiety numer 7,9,10 i 11, polski pakiet lokalizacji ma numer 73
  10. pacman -S geany #jeżeli ktoś programuje...
  11. pacman -S networkmanager network-manager-applet #menedżer połączeń sieciowych

Konfiguracja

  1. usermod -a -G wheel alek #dodanie konta zwykłego użytkownika do grupy wheel
  2. systemctl enable graphical.target #ustawienie graficznego trybu uruchamiania systemu jako domyślnego
  3. systemctl enable lxdm.service #ustawienie automatycznego uruchamiania graficznego menedżera logowania
  4. systemctl enable NetworkManager #automatyczne zarządzanie połączeniami sieciowymi
  5. nano /etc/skel/.xinitrc #odkomentować linię: exec startxfce4
  6. nano /etc/X11/xorg.conf.d/10-keyboard-layout.conf:
       Section "InputClass"
            Identifier "keyboard-layout"
            Driver "evdev"
            MatchIsKeyboard "yes"
            Option "XkbLayout" "pl, us"
       EndSection
    
  7. nano /etc/lxdm/lxdm.conf #ustawiamy w sekcji [base] session=/usr/bin/startxfce4 i sekcji [userlist] disable=1
  8. nano /etc/xdg/user-dirs.defaults #wpisujemy domyślne nazwy folderów użytkownika, np. Pulpit, Pobrane, Szablony, Publiczny, Dokumenty, Muzyka, Obrazy, Wideo

Uwagi

Zanim zrestartujemy system warto przetestować poprawność uruchamiania się serwera X, graficznego menedżera logowania i środowiska Xfce. W tym celu na drugiej konsoli logujemy się jako zwykły użytkownik, którego konto założyliśmy podczas instalacji, a następnie uruchamiamy usługę graficznego menedżera logowania: sudo systemctl start lxdm.
Jeżeli uda się nam zalogować, Xfce zaoferuje utworzenie panelu, wybieramy opcję "domyślny". Jeżeli nie, błędów szukamy w plikach: /var/log/Xorg.0.log oraz ~/.xsession-errors.