V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Nedávno vyšel na abclinuxu.cz článek o nastavení vzhledu XDM, ale jeho obsah mě vůbec neuspokojil. XDM používám, ale nebyl jsem schopen ho upravit do podoby, která by mi vyhovovala. Nyní se mi to podařilo, a tak se s vámi podělím. A aby toho nebylo jen takhle málo, připojím ještě konfiguraci svého správce oken TWM.
Už slyším tu flame, proč dnes používat takovou vykopávku jako je XDM a TWM. Důvod je jednoduchý: rychlost a úspora systémových prostředků. Nikdo mi nevymluví, že start XDM a TWM není o mnoho rychlejší než KDE s KDM nebo Gnome s GDM :-). A že TWM vypadá hůře než KDE? To je značně relativní. Třeba moje žena, která v práci dělá na Windows a doma na Linuxu, KDE nechtěla. TWM má méně voleb a je tak pro ni přehlednější. S KDM se mi zase stala nemilá věc - často ignoroval uživatelovo nastavení a pouštěl jiného správce oken, než uživatel používal. Ale již dost přesvědčování a úvodu a pustíme se do konfigurace.
Sám používám distribuci Slackware, teď ve verzi 10.2. A především na Slackware je ukázka konfigurace zaměřená. V jiných distribucích se může úprava konfigurace trochu lišit, ale na to se vždy pokusím upozornit. Hlavní konfigurace je v adresáři /etc/X11/xdm
. Symbolický link, který je v adresáři X je /usr/X11/lib/X11/xdm
. V některých distribucích může být symbolický link a skutečný adresář prohozen.
XDM je přihlašovací program; jako řádkový login, ale pro grafiku. Stejně jako login je pro lokální přihlašování (X11 spuštěná tak, jak je používáme většinou na stanicích), tak pro vzdálené (X11 spuštěná na tenkých klientech). Pro svůj běh potřebuje fungující konfiguraci X11 a level initu 4, aby se spustil sám po startu počítače. Zde je drobná odchylka od ostatních distribucí: Slackware má pro grafické přihlašování level 4, Red Hat a Fedora level 5, další distribuce nevím.
Jak to chodí v praxi? Když init po startu přejde do levelu 4, spustí na konec X11 a místo správce oken tam plácne právě XDM. XDM se spouští dokonce až po rc.local a při startu spouští své konfigurační skripty, jak si popíšeme dále. XDM pak čeká na uživatele, který se pomocí něho přiloguje. Pokud je autentizace úspěšná, XDM opustí první grafickou konzoli a hledá v home uživatele skript .xsession
. V něm by se na posledním řádku měl nacházet příkaz exec, který spustí správce oken. Pokud skript ~/.xsession
nenalezne, spouští správce oken, který je nastaven jako výchozí. Ten je vybrán tím, kam ukazuje symbol link /etc/X11/xinit/xinitrc
. XDM je i po přihlášení stále aktivní a čeká na odhlášení uživatele, aby se mohl zase nacpat na grafickou konzoli.
Konec teorie, teď už jen praxe. Předpokládejme, že máte funkční X11. Nejdříve si upravíme skript runlevelu 4, aby se nám spouštěl jen XDM. Přestože jsem takový minimalista s TWM, používám KDE aplikace a ty vyžadují instalaci kde-base balíčku a v něm je i KDM. Pokud neupravíme initscript rc.4, spustí se nám KDM místo XDM. KDM se zbavíme tak, že ve skriptu /etc/rc.d/rc.4
zaremujete spouštění jiných přihlašovacích manažerů. Pokud byste to ve své distribuci nemohli najít, nebo se vám nelíbila úprava rc skriptů, stačí zařídit, aby nešlo KDM a GDM spouštět příkazem chmod -x `which kdm`
a chmod -x `which gdm`
.
Aby nám spuštění XDM zůstalo i po restartu počítače, musíme nastavit výchozí runelevel v /etc/inittab
, řádek id:4:initdefault:
. Já ještě vypínám textové konzole zaremováním řádků začínajících c3 až c6. K čemu totiž tolik konzolí, když je stejně nepoužijete?
XDM po svém startu, ale před zobrazením přihlašovacího okna, spouští skript Xsetup_0
. Skript se spouští také při odhlášení uživatele. Sem si můžete napsat všechny programy a příkazy, které chcete po spuštění XDM provést. Skript se pouští s právy roota.
Užitečné je například odmountování cdrom nebo síťových disků. Odmountování cdrom je velmi praktické, pokud sdílíte počítač s několika lidmi. Představte si, že předchozí člověk zapomněl v mechanice přimountované CD; bez jeho hesla, roota nebo restartu počítače ho z mechaniky nedostanete. Rýpalové samozřejmě namítnou něco o sudu (ne o bečce :-), ale toto jen jedno z možných řešení.
Sem se právě dává i příkaz, který dá na pozadí XDM obrázek či změní barvu pozadí. Když se do souboru podíváte, uvidíte nastavenou výchozí světle modrou. Daleko užitečnější je sem přidat spouštění prográmku setnumlock nebo numlockx. Prográmek působí jako softwarový přepínač numlocku. Pokud není něco jasného, podívejte se na můj soubor, který vysvětluji níže.
XDM má ale, co se týká obrázků na pozadí, omezení - neumí průhlednost. Když dáte na pozadí obrázek, přihlašovací okno už asi neschováte. Takže pozor na to.
U Slackware 10.2 jsem narazil na jeden problém při obrázku na pozadí XDM. Prosté xv obrazek.jpg -root -quit
zde nefunguje, je nutno před obrázkem dát /usr/X11/bin/xhost localhost
. Ta absolutní cesta je nutná, protože jste ještě před přihlášením a proměnná $PATH je ještě prázdná.
Jakmile máte povoleno zobrazování pro localhosta, můžete na přihlašovací plochu umístit, co chcete. Hodiny i tlačítka na vypínání (pomocí xmessage).
Pokud chcete, aby vaše přihlašovací obrazovka vypadala jako na horním obrázku, je k tomu poměrně jednoduchá cesta úpravou konfiguračního souboru Xresources
. Soubor má ve výchozím nastavení spoustu věcí, které nejsou potřeba; může být i úplně prázdný a XDM se samo nastaví základní vzhled. Který je také velmi pěkný a případně vám stačí jen doplnit jiný titulek přihlašovacího okna.
xlogin*greetFont: -*-lucida-bold-r-normal-*-26-*-*-*-p-*-iso8859-2 xlogin*font: -*-helvetica-medium-r-normal-*-17-*-*-*-p-*-iso8859-2 xlogin*promptFont: -*-helvetica-bold-r-normal-*-17-*-*-*-p-*-iso8859-2 xlogin*failFont: -*-helvetica-medium-r-normal-*-17-*-*-*-p-*-iso8859-2
Nastavení fontů je na první pohled jasné. Latin2 fonty nám umožní psát s diakritikou. Konfigurační řádek fontu získáme pomocí utilitky xfontsel
. Každý z řádku nastavení vybírá font pro jiný text XDM. greetFont je pro nadpis (na mém obrázku nápis Slackware 10.2), font je pro ostatní texty (uživatel, heslo), promptFont se použije při psaní uživatelského jména a failFont je pro hlášku o špatném přihlášení.
Fonty lze použít jakékoliv, které vidí X server. Nebo přidat další; o tom se trochu zmíním. Nový TTF font přidáme tak, že jej, jako root, nakopírujeme do adresáře /usr/X11R6/lib/X11/fonts/TTF/
a v tomto adresáři spustíme příkaz mkfontdir
a mkfontscale
. Pak stačí restartovat X server a přes jakýkoliv program se přesvědčit, že je font k dispozici.
xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/tux.xpm
Výběr obrázku, který se zobrazí na přihlašovacím okně.
xlogin*borderWidth: 0 xlogin*frameWidth: 0 xlogin*innerFramesWidth: 0
Okolo celého přihlašovacího okna je rámeček (border) a pak také jeho stín (frame). Stín může být jen v pravo dole (spodní a pravá strana okna). Inner je rám formuláře, kam se píše přihlašovací jmého a heslo. Pokud je na 0, rámeček zmizí.
xlogin*shdColor: black xlogin*hiColor: black xlogin*background: black xlogin*foreground: White xlogin*promptColor: White xlogin*greetColor: White xlogin*failColor: Red
Zde si nastavíme barvy. Shd je barva stínu rámečku a stínu pod greet. Hi je barva rámečku okolo celého okna. Background pozadí. Foreground, prompt a greet jsou barvy fontů. Fail barva fontu chybového hlášení při odmítnutí přihlášení. Pozor, XDM neumí průhlednosti, tedy kromě ikonky v pravo, a neřeší ani pozadí mimo okno. Při návrhu přihlašovacího okna je s tím tedy nutno počítat.
*Foreground: white *Background: black
Tyto parametry jsou ignorovány, pokud použijete předchozí určení barev. Je to určení všech popředí a pozadí.
xlogin*logoPadding: 0 xlogin*geometry: +300+400
LogoPadding nastaví posunutí obrázku v pixelech od pravého kraje rámečku. Geometrii můžeme ignorovat, přihlašovací okno se samo zobrazí ve středu obrazovky. Použijte ho, jen pokud jej chcete mít jinde než na středu či jiný než výchozí rozměr.
xlogin*greeting: Linux Slackware 10.2 xlogin*fail: Špatné heslo
Nastavení hlavního titulku okna a chybové hlášky špatného přihlášení.
xlogin*namePrompt: \040\040\040Uživatel: xlogin*passwdPrompt: \040\040\040Heslo:
Znaky \040 znamenají mezeru, která posouvá doprava text přihlašovacího formuláře.
XDM po úspěšném přihlášení hledá v home uživatele skript .xsession
. Je to bashový skript, který na konci spouští správce oken. Já v něm mám:
#!/bin/sh xv .kytky.jpg -root -quit xclock -geometry 150x150-1+1 & torsmo& xset s off xset b 0 xset r rate 200 50 mount /mnt/sitovy_disk & exec twm
Pro začátečníky rychle popíši, co se zde provádí:
Vůbec nic nám nebrání, aby si každý uživatel spouštěl jiného správce oken. Jak jsem se již zmiňoval, uživatelé KDE zde budou mít jen exec startkde
, protože obrázky na pozadí a další nastavení budou KDE přepsány a tím ignorovány. Po ukončení správce oken (odhlášením) se zruší všechna nastavení provedená pomocí xsession a znovu se spustí XDM i se svým startovacím skriptem Xsetup.
Tab Window Manager je starý jako X Window System samotný. To ale vůbec neznamená, že by byl zastaralý. Má snad jen jednu nevýhodu, nepodporuje práci na více obrazovkách. Ale jeho výhody to vyváží. Je totiž velmi nenáročný a rychlý, zabírá jen 2 kB paměti.
Filozofie TWM je, že programy spouštíte pomocí menu, které se objevuje na ploše. Jak si ale ukážeme dále, je možné menu vyvolat i jinde, třeba nad titulkem okna. TWM nemá žádnou lištu na přepínání programů, ale můžeme pro tento účet využít plovoucího ikon manažera, který takovou funkci plní.
Konfigurace je v jediném souboru ~/.twmrc
a skládá se z několika následujících podstatných částí. Když jsem si TWM pro sebe konfiguroval, vzal jsem výchozí a jen si v něm doplnil pár užitečných věcí, na které upozorním.
NoGrabServer
RestartPreviousState
DecorateTransients
RandomPlacement
Nastavení globálního chování. Vše je výchozí, kromě RandomPlacement, to způsobí, že při spuštění aplikace bude její okno umístěno na náhodné místo. Výchozí chování TWM je, že čeká na manuální umístění okna s aplikací.
TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
Výběr fontů pro menu a ikony. Nechávám defaultní, TWM bohužel neumí znaky s diakritikou.
Color {
BorderColor "slategrey"
DefaultBackground "DarkOliveGreen"
DefaultForeground "gray85"
TitleBackground "DarkOliveGreen"
TitleForeground "gray85"
MenuBackground "DarkOliveGreen"
MenuForeground "gray85"
MenuTitleBackground "gray70"
MenuTitleForeground "DarkOliveGreen"
IconBackground "DarkOliveGreen"
IconForeground "gray85"
IconBorderColor "gray85"
IconManagerBackground "DarkOliveGreen"
IconManagerForeground "gray85"
}
Nastavení barev používá rgb definiční soubor /usr/X11/lib/X11/rgb.txt
, kam lze barvy podle potřeb přidávat. Jednotlivé položky není nutno příliš popisovat, protože už z názvu je dobře patrné, k čemu se která barva vztahuje. V případě nejasností se určitě podívejte do dokumentace (já čerpal z balíku x-11-doc-html soubor twm.1.html), kde najdete přehled všech možných parametrů a také jejich vysvětlení.
Icons { "xterm" "terminal" }
NoTitle {
"xclock"
"xmms"
}
Některé aplikace nemají pro twm stanoveny ikony, které se budou zobrazovat při minimalizaci okna programu. Zde je můžeme přiřadit nebo změnit. Pokud neudáte absolutní cestu, ikony se berou z /usr/X11/include/X11/bitmaps
. Druhá konfigurační direktiva je seznam programů, u kterých se nebude zobrazovat titulkový pruh okna.
MoveDelta 3
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }
Button1 = : root : f.menu "prg"
Button3 = : root : f.menu "defops"
Button1 = m : window|icon : f.function "move-or-lower"
Button2 = m : window|icon : f.iconify
Button3 = m : window|icon : f.function "move-or-raise"
Button1 = : title : f.function "move-or-raise"
Button2 = : title : f.raiselower
Button3 = : title : f.iconify
Button1 = : icon : f.function "move-or-iconify"
Button2 = : icon : f.iconify
Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.iconify
LeftTitleButton "/usr/X11/include/X11/bitmaps/xlogo16" = f.delete
V této části konfigurace se určuje, jaká bude spolupráce mezi okny a myší. Podobně se dá nastavit i interakce s klávesnicí (a mohlo by tak jít dosáhnout i známé kombinace z Windows - ALT + F4). TWM má několik interakčních oblastí - root (plocha), title (titulkový pruh okna) atd. podle příkladu. Pokud nad touto oblastí provedete akci (klik levým tlačítkem) provede se akce definovaná funkcí. TWM má funkce předdefinované, kompletní seznam je v manuálu, případně si můžete vytvářet vlastní.
Já jsem přidal řádek, který minimalizuje okno po kliknutí na titulek okna pravým tlačítkem. Schválně, jestli ho najdete :-).
Poslední řádek této konfigurační ukázky přidá na levou stranu titulkového pruhu další tlačítko, které okno zavře. Nebo-li spustí na okno funkci f.delete, ale jak jsem psal výše, může to být i vlastní funkce nebo menu.
menu "internet" { "Internet" f.title "prohlizec WWW Firefox" f.exec "firefox&" "posta Thunderbird" f.exec "thunderbird&" "adresar Thunderbird" f.exec "thunderbird -addressbook&" "Licq" f.exec "licq&" "Gnome FTP" f.exec "gftp&" "Leech FTP" f.exec "/home/zip/.leechftp.sh&" }
V menu, které se vám objeví na ploše, lze definovat i podmenu. Zde vidíte ukázkovou strukturu, včetně funkcí, které jsou přiřazeny každému řádku. Popisovat je nemusím, jsou zřejmé na první pohled a další jsou popsány v dokumentaci. Nezapomeňte, že každý spouštěný program musí mít na konci &, aby se spustil na pozadí. Bez toho by program zablokoval twm a neobjevovala by se do ukončení programu menu, oknem by nešlo hýbat atd. Pokud hlavní menu, zde prg, obsahuje podmenu, musí být podmenu v konfiguraci před hlavním menu.
menu "prg" { "Xwindows" f.title "Internet" f.menu "internet" "Hry" f.menu "hry" "souborovy manazer Krusader" f.exec "krusader&" "prehravac MP3 XMMS" f.exec "xmms&" "prehravac Xine" f.exec "xine&" "Gimp" f.exec "gimp&" "Open Office" f.exec "soffice&" "" f.nop "Kalkulacka" f.exec "xcalc&" "Hlasitost" f.exec "zmixer&" "Acrobat Reader" f.exec "acroread&" "IAX telefon" f.exec "kiax&" "Checkpoint Dashboard" f.exec "/home/zip/.managementCP.sh&" "K3B" f.exec "k3b&" "" f.nop "Xterm" f.exec "xterm -sl \ 700 -ls -rv -font -misc-fixed-*-*-*-*-15-*-*-*-*-*-iso8859-2&" "sit a mountovani" f.menu "nastaveni_site" "vpn do prace" f.menu "prace" }
Tohle je moje hlavní menu, ostatní podmenu jsem z důvodu zkrácení výpisu vypustil. Zde jen upozorním na funkci f.nop, která v menu vytváří prázdný řádek pro lepší přehlednost.
menu "defops" { "Twm" f.title "Seznam programu" f.showiconmgr "Iconify" f.iconify "Resize" f.resize "Move" f.move "" f.nop "Kill" f.destroy "Delete" f.delete "Restart" f.restart "" f.nop "Vypnout PC" f.exec "halt" "" f.nop "Odhlasit uzivatele" f.quit }
Poslední menu je také hlavní, ale vyvolávané pravým tlačítkem myši na ploše. Jsou zde skoro výhradně příkazy pro manipulaci s okny, zabíjení oken a hlavně odhlášení pomocí ukončení TWM.
Na úplný závěr prozradím, jak jsem udělal fotky do článku (vizte také článek Snímání obrazovky aneb vyfoťte si okno). V diskuzích jsem našel spousty dotazů na toto téma, ale odpovědi nebyly nikdy jednoduché a jednoznačné. Takže jednoduše, jak udělat fotku obrazovky? U přihlášeného uživatele příkazem sleep 5;xwd -root -out fotecka.xwd
. sleep je tam proto, abyste měli čas minimalizovat xterm a případně i vyvolat menu. Xwd formát převedete třeba pomocí ImageMagicku nebo xv. Pro fotku aplikace vynechejte parametr root a klikněte na okno, které chcete fotit.
Fotka přihlašovacího managera je trochu složitější, ale na podobném principu. Vytvořte shellový skript, který obsahuje jen dva řádky. 1. bude po svém spuštění čekat alespoň 5 vteřin, než XDM naběhne úplně, a 2. pak udělá stejnou fotku, jak jsem psal předtím. Možná bude někde nutné doplnit ještě parametr -display localhost:0.0
. Nezapomeňte nastavit skript jako spustitelný. V Xsetup přidejte localhosta do xhostů a pak přidejte řádku, která váš skript spustí na pozadí (parametr &). Při dalším spuštění XDM se udělá fotka a počítač to oznámí pípnutím.
Doufám, že můj článek pro vás bude užitečný, že TWM, ač staré, někoho zaujme samo o sobě nebo jeho varianta s podporou virtuálních obrazovek VTWM.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Tam fungovala i dvoutečka na začátku řádku.
current_theme zels,osaka,think_different,peace,shiba,liedpro nahodny vyber. at slouzi!
Som este nevidel skaredsiu vec na linuxe ako je ten TWM.Jo, hroznej humus, taky nechapu jak takovou vec muze nekdo pouzivat.
Mě spíš zaujalo to screenshotování pomocí příkazové řádky. Ať mi po tomhle už nikdo neříká, že v příkazovce se "zkrátka pracuje mnohem efektivněji"... lol. Jojo.Způsobů sejmutí screenshotu je samozřejmě více - včetně grafických klikátek. Ale pokud není nainstalováno nic jiného než X, tak je xwd šikovné řešení (a není problém si to namapovat na libovolnou klávesovou zkratku).
No, spoušť fotoaparátu má reagovat okamžitě.
Ne vždy. Často si nejdřív budete chtít nastavit parametry expozice, rozvrhnout scénu apod. A někdy dokonce použijete samospoušť. A se screenshotem je to stejné.
[...] - jen čekám, až někdo udělá kreslící program pro konzoli).Metapost?
SCREENSHOT="/home/user/`zenity --entry --title "Uložit screenshot" \ --text "Jméno screenshotu:" --entry-text ".png"`" || exit if [ -f $SCREENSHOT ] ; then zenity --error --title "Screenshot" --text "Chyba: soubor již existuje." exit 1 else CD="" zenity --question --text "Mam zpozdit screenshoot o 5s ?" \ && CD="-cd 5" scrot $CD $SCREENSHOT zenity --info --text "Screenshot je ulozen $SCREENSHOT" fi
No fuj! KDE omalovánky jsou pro děti.
Velký kluci používaj tvm, ewm, možná ještě Blackbox
Tab Window Manager je starý jako X Window System samotný.
Jen technická poznámka, nijak zle nemyšlená: X Window System exsituje od roku 1984 a TWM až od roku 1987.
http://en.wikipedia.org/wiki/X_Window_System#History
http://en.wikipedia.org/wiki/TWM#History