10 lat

Kto by pomyślał, że ta strona obchodziła w listopadzie dziesięciolecie istnienia 🙂

Na przestrzeni tylu lat forma zmieniała się wielokrotnie, wygląd, tylko tematyka w zasadzie pozostała mniej więcej taka sama.

Podejmowałem kilka prób pisania bardziej o życiu ale niekoniecznie mi to wychodziło, miałem tematy, wenę itd.

Tak więc może bez zbędnych obiecanek niech będzie przynajmniej tak jak jest teraz, czyli raczej technicznie. Może uda mi się pisać nieco więcej w niedalekiej przyszłości bo czeka mnie sporo wyzwań i wiele nowych tematów o których pewnie będę chciał napisać 🙂

debian testing/sid – playonlinux nie działa

Wygląda na to że PoL jako tako przestał działać na testingu i sidzie. Tzn sam program się uruchamia ale nic już więcej w nim nie można zrobić (zmienić ustawienia, pobrać nową wersję wine, itd).

Póki co nadal badam powód ale na szczęście można uruchamiać gry/programy wprost z terminala:

~$ playonlinux --run "Diablo II"
Looking for python... 2.7.13 - wxversion(s): 3.0-gtk2
selected
[main] Message: PlayOnLinux (4.2.10) is starting
[clean_tmp] Message: Cleaning temp directory
Script started /home/pakos/.PlayOnLinux/shortcuts/Diablo II
^C[POL_System_CheckFS] Message: Checking filesystem for Diablo II.exe
[POL_Wine] Message: Running wine-1.7.36 Diablo II.exe -w (Working directory : /home/pakos/.PlayOnLinux/wineprefix/DiabloII/drive_c/Program Files/Diablo II)
[POL_Wine] Message: Notice: PlayOnLinux deliberately disables winemenubuilder. See http://www.playonlinux.com/fr/page-26-Winemenubuilder.html
[POL_Wine] Error: Wine seems to have crashed

If your program is running, just ignore this message
[POL_SetupWindow_Init] Message: Creating new window for pid 10476
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/opensc-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/opensc-pkcs11.so: cannot open shared object file: No such file or directory
Killed

EDIT:

Wszystkiemu okazuje się winny netcat-openbsd (link) a zmiany wystarczy dokonać w pliku /usr/share/playonlinux/lib/setupwindow.lib z nc -q na nc -N:

--- setupwindow.lib     2017-02-08 21:55:43.000000000 -0500
+++ setupwindow.lib_fixed       2017-02-08 21:52:49.000000000 -0500
@@ -39,7 +39,7 @@
        if [ "$POL_OS" = "Mac" -o "$(POL_Config_Read FORCE_LEGACY_NETCAT)" = "TRUE" ]; then
                nc "$@"
        else
-               nc -q -1 "$@" 2> /dev/null || nc "$@"
+               nc -N -1 "$@" 2> /dev/null || nc "$@"
                # Differents possibilities
        fi
 }

Bumblebee – [ERROR]Cannot access secondary GPU – error: [XORG] (EE) Failed to load module “nvidia” (module does not exist, 0)

W sidzie napotkałem ostatnio na wywalenie się bumblebee mimo iż wszystko było wedle starej acz dobrej konifguracji, czyli moduły zbudowane:

    bbswitch, 0.8, 4.6.0-1-amd64, x86_64: installed
    bbswitch, 0.8, 4.8.0-1-amd64, x86_64: installed
    nvidia-current, 367.57, 4.6.0-1-amd64, x86_64: installed
    nvidia-current, 367.57, 4.8.0-1-amd64, x86_64: installed

Poprawnie skonfigurowany /etc/bumblebee.conf/bumblebee.conf.conf z:

Driver=nvidia
KernelDriver=nvidia-current

oraz /etc/bumblebee/xorg.conf.nvidia:

BusID "PCI:07:00:0"

A przy starcie krzyczał, że nie może sobie załadować modułu nvidia:

optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.

optirun -vvv glxgears
[ 4067.950712] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 4067.950993] [INFO]Configured driver: nvidia
[ 4067.951137] [DEBUG]optirun version 3.2.1 starting...
[ 4067.951146] [DEBUG]Active configuration:
[ 4067.951149] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 4067.951153] [DEBUG] X display: :8
[ 4067.951156] [DEBUG] LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
[ 4067.951160] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 4067.951163] [DEBUG] Accel/display bridge: auto
[ 4067.951170] [DEBUG] VGL Compression: proxy
[ 4067.951176] [DEBUG] VGLrun extra options:
[ 4067.951180] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
[ 4067.951224] [DEBUG]Using auto-detected bridge primus
[ 4068.128154] [INFO]Response: No - error: [XORG] (EE) Failed to load module "nvidia" (module does not exist, 0)

[ 4068.128165] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "nvidia" (module does not exist, 0)

[ 4068.128170] [DEBUG]Socket closed.
[ 4068.128185] [ERROR]Aborting because fallback start is disabled.
[ 4068.128187] [DEBUG]Killing all remaining processes.

lsmod|grep nvid
nvidia              11485184  0

Pomimo iż oczywiście się załadował. Po dłuższej dłubaninie i pytaniach w internetach doszedłem, że sterowniki z w tej wersji w sidzie jakieś niedorobione są i wystarczy zainstalować je z experimentala.

install -t experimental nvidia-driver

Po tym jak ręką odjął, wszystko działa 🙂

wine/pol – battlenet launcher

Ostatnie łaty uniemożliwiają odpalenie battlenet launchera na wine/pol, pojawia się błąd:

Unhandled exception: unimplemented function api-ms-win-crt-runtime-l1-1-0.d._get_narrow_winmain_command_line called in 32-bit code (0x7b43fbe2)

rozwiązania są trzy:

  1.  nie grać 🙂
  2. użyć winetricks do zainstalowania vcrun2015
  3. samemu ustawić dll overrides dla:
    api-ms-win-crt-runtime-l1-1-0.dll
    api-ms-win-crt-stdio-l1-1-0.dll
    ucrtbase
    vcruntime140

    Osobiście przetestowałem pkt 3 (PoL nie wspiera jeszcze vcrun2015), po kilku godzinach grania udało mi się na nowym patchu wbić 40 lvl w diablo 3 🙂

sportowe postępy

Dokładnie 1 marca pisałem jakie to mam wielkie plany na ten rok i wypadało by nieco podsumować miniony okres. Otóż jak pierwotnie zakładałem z bieganiem nie idzie tak dobrze, staram się regularnie 2 a czasem nawet trzy razy w tygodniu, niestety nadal słabe odległości. Średnio było to ciągle ~6km co w miesiącu nie dawało jakiegoś szalonego wyniku.

chart(3)

Dopiero wczoraj przemogłem się i pokonałem dystans 10km, nogi to odczuły ale dałem radę, plan jest teraz skromny aby tylko zwiększyć te 6km na jakieś 8 i raz na ile może coś z10+. To powinno trochę poprawić statystyki.

Zupełnie inaczej ma się sprawa z rowerowaniem, w marcu jeszcze sezon był zamknięty ale teraz staram się wyjść na rower co drugi dzień (w te które nie biegam akurat) i to się udaje, w statystykach wygląda to lepiej 🙂

chart(4)Sumarycznie całość i tak wygląda lepiej niż mógłbym zakładać, jest aktywności sporo a kilogramów już ponad 5 spadło. Było by tego pewnie więcej ale nie katuję się jakąś specjalna dietą do tego. Ot jem mniej i pewne rzeczy rzadziej. Nie odmawiam sobie raz na jakiś czas pizzy, burgera czy alkoholu, chyba bym tak nie wytrzymał długo 😀

Pokemon Go

PokeballOstatnio masa ludzi jara się pokemonami, latają i grają. Ja akurat nie miałem przyjemności oglądać tej produkcji, nie te lata ale zachęcony czasem który spędziłem przy ingresie postanowiłem spróbować.

Nie jest to jednak to samo, widać że tu działa bardziej marka niż prawdziwy gameplay. Aczkolwiek gra nadal zmusza do poruszania się, co akurat uznaję za plus i razem ze znajomymi (kilka osób pogrywa) łapiemy stworki i nabijamy kilometry 🙂

Póki co udało mi się wbić 7 poziom ale skupiałem się na razie tylko na zbieraniu, pora chyba ogarnąć walki bo jest taka opcja 🙂

Munin v2

Pisałem już kiedyś jak zainstalować munina, teraz nieco bardziej rozbudowana wersja, z kilkoma hostami i nieco odświeżonym interfejsem graficznym.

Jeden z hostów będzie traktowany jako master (przypadek gdy hosty nie są w tej samej sieci), ten który wystawia statystyki webowo. Instalacja jak poprzednio:

apt install apache2 libcgi-fast-perl libapache2-mod-fcgid munin munin-node munin-plugins-extra 

a2enmod fcgid

W /etc/munin/munin.conf konfigurujemy co nam potrzeba, głównie:

htmldir /var/www/munin/ //w zależności jak mamy ustawione apache


[server1.example.com]
address 127.0.0.1
use_node_name yes

[server2.example.com]
address x.x.x.x //zewnętrzne ip drugiego hosta, można powtarzać z kolejnymi
use_node_name yes
cd /etc/apache2/conf-enabled/
ln -s /etc/munin/apache24.conf munin.conf
systemctl restart apache2

W /etc/munin/apache24.conf ustawiamy:

Alias /munin /var/www/munin
<Directory /var/www/munin>
 # Require local
 Require all granted
 Options FollowSymLinks SymLinksIfOwnerMatch
 Options None
</Directory>

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
 # Require local
 Require all granted
 Options FollowSymLinks SymLinksIfOwnerMatch
 <IfModule mod_fcgid.c>
 SetHandler fcgid-script
 </IfModule>
 <IfModule !mod_fcgid.c>
 SetHandler cgi-script
 </IfModule>
</Location>

Webowy interfejs powienien już działać, wyświetlać statystyki z mastera.

Teraz na każdym kolejnym nodzie:

apt install munin-node

W etc/munin/munin-node.conf ustawiasz:

allow ^123\.456\.78\.100$ //ip mastera


systemctl restart munin-node

W firewallu otwieramy port 4949:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT

(na masterze konfigurację ustawiliśmy wcześniej), po kilku minutach host powinien pojawić się w interfejsie webowym.

W przypadku gdy coś nie działa polecam popatrzeć w log:

tail -f /var/log/munin/*

Zazwyczaj nie może się połączyć z hostem, trzeba więc wtedy posprawdzać firewalle, telnet powinien was ładnie przywitać, z mastera:

telnet ipnoda 4949

Jeżeli mamy jakąś maszynkę bez stałego ip ale np router już go ma to spokojnie można po prostu przekierować port 4949 na routerze do hosta (np raspberry jak u mnie)

Webowy interfejs:
cd /tmp

git clone https://github.com/munin-monitoring/contrib.git

cd /etc/munin

cp -rb /opt/contrib/templates/munstrap/templates .

cp -rb /opt/contrib/templates/munstrap/static .

rm -rf /var/www/munin/*

Po 5 minutach powinno wyglądać mniej więcej tak:

youtube – play all videos in channel

Ja nie wiem czy ja ślepy jestem czy może źle pamiętam (ale taka opcja była kiedyś na yt?). W każdym bądź razie chciałem dzisiaj zapuścić wszystkie filmy na pewnym kanale i zonk, nie wiem jak. Dopiero trzecia (sic!) strona google pomogła (reszta to jakiś nieaktualny zlepek).

Sprawa okazuje się jednak prościutka, trzeba tylko przerobić link, np:

https://www.youtube.com/channel/UCxxxxxxxxxxx

zmieniamy channel/UC na playlist?list=UU

https://www.youtube.com/playlist?list=UUxxxxxxxxxxx

Można też sobie zapisać na stałe zakładkę w przeglądarce:

javascript:var%20temp%20=%20location.href.replace("channel/UC","playlist?list=UU");%20location.href%20=%20temp;