V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Berkeley Humanoid Lite (Onshape, GitHub) je open source humanoidní robot. V amerických cenách jej lze sestavit do 5000 dolarů.
Jakub Jelínek oznámil vydání verze 15.1 (15.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 15. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.
Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.
Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).
Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o
… více »Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení
… více »Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.
Rád bych volně navázal na článek o nastavení vzhledu XDM a podíval se dnes na jiného minimalistického, na desktopu či správci oken nezávislého, správce přihlášení s výstižným pojmenováním - Simple Login Manager nebo zkráceně SLiM. Oproti XDM má být výrazně uživatelsky přívětivější, což se projevuje možností ovlivnit a zcela změnit vzhled přihlašovacího dialogu pomocí témat a několika dalšími detaily, jako je zobrazování hvězdiček při zadávání hesla (to může být samozřejmě i nevýhoda, když se na to díváme z bezpečnostního hlediska). Jedná se o relativně nový počin, vývoj začal v roce 2004. Je napsán kompletně v C++. Na stránkách projektu jsou ke stažení dostupné zdrojové kódy pod GNU GPL verze 2. Žádné binární balíčky tam (v době psaní těchto řádků) nenajdeme. V článku bude řeč o verzi 1.2.6, která je v tuto chvíli nejaktuálnější.
Byl jsem překvapen, že se SLiM (zřejmě vzhledem k jeho relativní čerstvosti - inu, také je o 16 let mladší než XDM) dosud nenachází v Debianu a to ani v unstable distribuci. Po docela dlouhé přestávce, způsobené spokojeným životem s balíčkovacím systémem, jsem se tedy uchýlil ke kompilaci ze zdrojového kódu. Na stránkách SLiMu se dočteme, že závisí na X11
, libpng
, libjpeg
a freetype
. Pro debianisty to znamená nutnost instalace příslušných vývojových balíčků, u mne šlo o xserver-xorg-dev
, libxft-dev
a libxmu-dev
. Kompilace provedená jednoduše příkazem make
fungovala bez problémů, nemusel jsem nikde v Makefile
měnit cesty k žádným souborům, jak mi bylo vyhrožováno v souboru INSTALL
. Podotýkám, že používám architekturu AMD64. Výchozí Makefile
je určen pro GNU/Linux, ale přiloženy jsou i tři další pro FreeBSD, NetBSD a OpenBSD. Stejně hladce proběhla i instalace pomocí make install
(samozřejmě s právy roota).
Trochu problém je zařídit korektní spouštění SLiMu po startu systému. Každá distribuce řeší start správce přihlášení tak trochu po svém. Pokud už máme XDM, GDM, KDM či něco podobného, musíme zabránit jejich spouštění. V Debianu toho nejpohodlněji docílíme za pomoci nástroje rcconf
, který nám ušetří manipulaci s init skripty. Potom záleží, jak moc trváme na čistotě systému. Korektní postup je vytvořit skript, který přijímá argumenty jako start
, stop
a restart
, a umístit jej do /etc/init.d/
(následně příslušnými nástroji vytvořit symlinky pro jednotlivé runlevely, atd.). O poznání méně korektní postup, který jsem zvolil já, je spouštět SLiM ze skriptu /etc/rc.local
. (Důsledkem je, že zabitím X serveru pomocí Ctrl+Alt+Backspace se SLiM ukončí, což někomu může, někomu nemusí vyhovovat.) Ostatně, špetka systematičnosti v tom přeci jen je, neboť při bootu se spouští skript /etc/init.d/rc.local
a teprve z něj se volá /etc/rc.local
. Na některých distribucích/systémech může být vhodné spouštět SLiM přímo z /etc/inittab
(postup je popsán v oficiálním manuálu). Záleží na zvyklostech.
První spuštění proběhlo úspěšně. Výchozí téma je vkusně zvolené. Překvapením bylo, když se po přihlášení ve spuštěném sezení Fluxboxu objevily o něco menší fonty než při posledním sezení a navíc nešel spustit uxterm
- stěžoval si na neexistující locale. Odtušil jsem, že SLiM vnucuje svoji nestandardně nastavenou locale sezením z něho spuštěným. Pikantní ovšem je, že v konfiguračním souboru SLiMu nic jako nastavení locale nenajdeme. Nepátral jsem po příčinách a explicitně jsem locale nastavil vložením řádky LC_ALL=cs_CZ.UTF-8
do souboru ~/.xsession
, což chybová hlášení terminálu eliminovalo. Zmenšené fonty byly způsobeny jiným nastavením, o kterém si povíme za moment.
Veškerá nastavení SLiMu se nacházejí v přehledně strukturovaném a srozumitelně okomentovaném souboru /etc/slim.conf
. Myslím, že význam voleb default_path
a default_xserver
je jasný a jejich nastavení nebude za normálních podmínek na desktopu nutné jakkoliv měnit. Zajímavější je volba xserver_arguments
. Zde můžeme zadat, které parametry se předají X serveru, bude-li spouštěn v režii SLiMu. Toto nastavení, ač je ve výchozím nastavení zakomentované, a tak by se mohlo zdát, že nic nedělá, bylo podle všeho zodpovědné za změnu velikosti fontů ze 100dpi na 75dpi. Zdá se, že některé parametry X serveru považuje SLiM za standardní a předává mu je i tehdy, když tato volba není v konfiguračním souboru nijak nastavena. Konec konců, zjistil jsem, že změna DPI fontů mým očím vyhovuje a nechal jsem to tak. Vrátit to na 100dpi explicitním nastavením této volby však pochopitelně není problém. Pomocí této volby je možné X serveru předávat jakékoliv argumenty, tedy kromě velikosti fontů např. rozlišení obrazovky či barevnou hloubku.
Další sekce souboru /etc/slim.conf
obsahuje nastavení příkazů pro vypnutí, restart a suspend systému. Ta poslední volba je ve výchozím nastavení z pochopitelných důvodů zakomentovaná, uživatelé notebooků, kterým suspend funguje, si ji mohou upravit pro své potřeby a odkomentovat. Zajímavá je volba console_cmd
, za níž se skrývá příkaz pro spuštění (vzhledově efektního) X terminálu. Souvisí s asi nejzajímavější vlastností SLiMu, ke které se vrátím níže. Následuje poměrně nudné nastavené Xauth
, na kterém opět není v případě běžného desktopu potřeba cokoliv měnit. Význam voleb numlock
a hidecursor
je jasný když ne už z jejich názvů, tak určitě z komentářů nad nimi.
Následuje volba login_cmd
, s jejíž pomocí nastavíme, jaký příkaz se má spusit po úspěšném přihlášení. Pravděpodobně to bude skript ~/.xinitrc
nebo ~/.xsession
. Součástí je i vychytávka, dosud autory SLiMu označovaná za experimentální, která umožňuje napsat si .xinitrc
skript tak, aby přijímal jako argument název sezení, tedy nejčastěji název správce oken. V balíku se zdrojáky je přiložen vzorový xinitrc.sample
. SLiM umožní uživateli vybrat si, jaký typ sezení chce po přihlášení spustit, a předá to jako argument skriptu .xinitrc
. Nastavíme-li tuto volbu takto:
login_cmd exec /bin/bash -login ~/.xinitrc %session
spustí se po přihlášení (za předpokladu korektního .xinitrc
) uživatelem vybraný typ sezení. S tím souvisí volba sessions
. Jedná se o seznam sezení, z nichž má uživatel při přihlášení na výběr. Názvy musí být voleny tak, aby je šlo použít jako argumenty skriptu .xinitrc
. Nic takového samozřejmě dělat nemusíme, když nechceme. Stačí z volby login_cmd
odebrat argument %session
a můžeme použít svůj starý .xinitrc
nebo .xsession
a spouštět z něj svého oblíbeného správce oken tak, jak jsme zvyklí. V takovém případě nemá smysl nastavování volby session
. (Na systémech jiných než GNU, kde by bash
nebyl v /bin
, musíme tento řádek patřičně upravit. V konfiguračním souboru je uveden příklad pro FreeBSD.)
Následují volby sessionstart_cmd
a sessionstop_cmd
, které umožňují spouštět příkazy při startu, respektive ukončení sezení a upřímně řečeno nepřišel jsem na nic, co by bylo vhodné na toto místo umístit, neboť totéž už řeší jednak skript .xinitrc
nebo .xsession
a jednak další podobná nastavení u různých správců oken a desktopů. Dále můžeme nastavit, zda se má SLiM spouštět jako démon, a jakým parametrem to ovlivnit z příkazové řádky. Dokumentace se nezmiňuje o tom, na co to má vliv ;) a ani při mých experimentech jsem žádný rozdíl nezaznamenal. Daemon mode je výchozí a nevidím důvod se tomu bránit.
Jako stvořená pro recenzenty a uživatele s oblibou vystavující na odiv své eye-candy téma je volba screenshot_cmd
. Ve výchozí konfiguraci je zvolena utilita import
z ImageMagicku, ale můžeme použít i klasičtější xwd apod. Místo statického jména souboru se screenshotem je můžeme nechat pojmenovávat třeba podle aktuálního času - viz man bash
, man date
- a udělat tak několik screenshotů po sobě, bez nutnosti SLiM restartovat:
screenshot_cmd import -window root /$(date +%H%M%S).png
Něco podobného mi skutečně chybělo při psaní článku o nastavení vzhledu XDM.
Na volbě welcome_msg
je zajímavá snad jen možnost obsáhnout v uvítacím výpisu název počítače a domény podobně jako u XDM - zde však prostřednictvím proměnných %host
a %domain
. Změnou nastavení voleb shutdown_msg
a reboot_msg
si můžeme třeba počeštit nebo poslovenštit výpisy informující o vypínání, respektive restartu systému. Na mém systému bylo třeba, aby jakákoliv diakritika v těchto výpisech byla kódována v ISO, a to i přestože zbytek systému už je dávno v UTF-8. Jak u SLiMu, tak i u XDM. Kdoví proč. Řešil jsem to takhle:
mv /etc/slim.conf /etc/slim.conf.bak iconv -f utf8 -t iso8859-2 /etc/slim.conf.bak > /etc/slim.conf
SLiM v současné době nepodporuje autologin tak, jak jej známe u KDM či GDM, nicméně volba default_user
předem vybere stanoveného uživatele a zobrazí jeho jméno v přihlašovacím dialogu - uživateli pak už zbývá jen zadat heslo. Následuje ještě volba pro výběr tématu. Témat je dostupných dosud jen několik. Všechna jsou velmi vkusná, jen některá jsou lépe než jiná připravena na použití volby default_user
(ptají se přímo až na heslo). Osobně jsem si vybral poněkud skromnější téma Zenwalk.
Nejvíce ze všeho jsem na SLiMu ocenil, že žádná z rozšiřujících funkcí nezabírá místo na přihlašovací obrazovce zbytečnými ovládacími prvky. Výběr sezení je dostupný přes klávesu F1. Nečeká nás žádné nevkusné menu - názvy sezení se opakovanými stisky F1 decentně střídají na jednom řádku pod políčkem na jméno a heslo. (Funguje to samozřejmě jen tehdy, pokud jste si vytvořili argumenty přijímající .xinitrc
podle vzorového xinitrc.sample
.) Klávesou F11 můžeme pořídit screenshot. Vypnutí či restartu dosáhneme za pomoci tzv. special usernames [speciální uživatelská jména]. Do políčka určeného normálně na přihlašovací jméno napíšeme halt
nebo reboot
. Další special usernames jsou exit
pro ukončení SLiMu a console
, což je určeno ke spuštění okna terminálu, který jsme si v konfiguračním souboru nastavili volbou console_cmd
. Je dobré poznamenat, že u témat, která zobrazují zvlášť políčko pro login a zvlášť políčko pro heslo, a která tedy zobrazují pouze políčko pro heslo v případě aktivování volby default_user
, nelze special usernames použít společně s default_user
, protože special username zkrátka není kam napsat.
SLiM s tématem Zenwalk, s volbou default_user
a s vybraným typem sezení Xfce4.
Na to, že spatřil světlo světa teprve předloni, se jedná o dobře použitelný program. Po dobu mého experimentování jsem nezaznamenal žádné zásadní selhání. Doba startu trvá asi o jednu či dvě sekundy déle než u XDM, takže zde by se dal vidět prostor pro zlepšení. Možná by neškodila ani podpora internacionalizace, aby se nemusely jednotlivé výpisy ručně počešťovat v konfiguračním souboru, ovšem to zřejmě bude v rozporu s požadavkem vyššího výkonu. SLiM nyní používám na desktopu v ostrém provozu. Myslím, že může zaujmout každého, kdo chce něco uživatelsky přívětivějšího než XDM, ale méně robustního než KDM či GDM. Těším se, až bude oficiální balíček v Debianu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Existoval neoficiální PAM patch pro SLiM 1.2.5, ale autor se zatím nevyjádřil, jak to bude s 1.2.6. Při té příležitosti jsem zjistil i že debianní balíček už existuje, ale zatím je moc unstable i pro unstable. :)
ad PAM: http://lists.debian.org/debian-wnpp/2006/07/msg00961.html
/etc/slim.conf
a ~/.xinitrc
. (Btw, omlouvám se, jestli Vás podceňuju, ale máte .xinitrc
spustitelný? A máte v systému ten shell, který voláte z řádku login_cmd
, čili asi /bin/bash
?)
halt
a reboot
je vyžadováno heslo na roota. Píše se to v manuálu: The ’halt’ and ’reboot’ commands need the root password, this may change in future releases.