abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:55 | Komunita

    KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.

    Ladislav Hagara | Komentářů: 1
    dnes 03:22 | Nová verze

    Byl vydán Mozilla Firefox 158.0. Stejně jako Chrome 155 s podporou JPEG XL (test). Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 158 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    dnes 03:00 | Nová verze

    Svobodný kancelářský balík ONLYOFFICE (Wikipedie) byl vydán ve verzi 10.0. Jak online Docs, tak i offline Desktop Editors. Přehled novinek také na YouTube.

    Ladislav Hagara | Komentářů: 1
    včera 14:44 | IT novinky

    Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.

    Ladislav Hagara | Komentářů: 9
    včera 14:33 | Bezpečnostní upozornění

    Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 3
    včera 04:00 | Komunita

    Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).

    ❗Červivý Hřib krade❗ | Komentářů: 21
    včera 03:33 | Nová verze

    V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.

    Ladislav Hagara | Komentářů: 0
    12.10. 21:11 | Komunita

    Ubuntu 27.04 bude Tenacious T-Rex.

    Ladislav Hagara | Komentářů: 0
    12.10. 20:44 | Nová verze

    Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.

    Ladislav Hagara | Komentářů: 0
    12.10. 17:22 | Humor

    Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2840 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Nahrazení Správce Přihlášení sh scriptem

    8.11.2009 20:40 | Přečteno: 1669× | linux | Výběrový blog | poslední úprava: 8.11.2009 20:42

    Aneb - když si BFU hraje, končí to nějak takhle. Vytvořil jsem svůj první sh script, který se postará o startx a přitom nabídne i výběr sezení.

    úvod

    Po několikaletém používání Grafického Správce Přihlášeni, jsem se dostal do stadia, že jsem jej opustil a začal se přihlašovat v textovém režimu. Nicméně mi to nestačilo, protože jsu člověk, který má rád změnu a nevydržím dlouho u jednoho prostředí, tak jsem si vytvořil script na spouštění sezení.

    Než mě začnete kamenovat, že jsem objevil Ameriku a že to je na ... vysvětlím své počínání, a protože mám velké neznalosti co se týče růrných souvislostí, pravidel (standartů) a závislostí, poprosím Vás, zkušené a ostřílené uživatele pouze o zkontrolování a případné upozornění na problémy, které by mohli nastat.

    Musím podotknout, že jsem to pořádně testoval a funguje přesně tak, jak mi to vyhovuje. Jediný problém mám s ukončením vzdáleného přístupu, protože GDM na vzdáleném PC vytváří jakousi smyčku, stále se opakující.

    důvod

    První par let, co jsem dostal PC s Linuxem jsem stále měnil Sezení a programy. Nebyl jsem schopen zpracovat to velké množství programů a u jednoho mi chybělo tohle a druhého zase tamto. Výsledek byl, že jsem měl ve starém slabém PC oba giganty (KDE a GNOME) a lítal jsem od programu k programu. Usoudil jsem, že to takhle nejde a proto jsem udělal jednu velkou čáru za KDE.

    A proto má KDM na můj počítač zákaz vstupu.

    Velmi dlouho jsem vystačil s GDM, ale jednoho dne po aktualizaci se nějak po... a ztratil jsem možnost výběru sezení, vzdáleného přihlášení a přihlášení v okně.

    bay bay

    Tak jsem se začal ohlížet po jiných správcích, ale jeden neumí výběr sezení a jinaj zase nepodporuje XDMCP. Navíc jsem už dostal chuť se něco dovědět o sh scriptech, protože od té doby co mám GNU/Linux, tak na ně stále narážím. A to je důvod proč vzniklo tohle.

    Popis

    Script umí nabídnout a provést výběr sezení, nastavení defaultního sezení a přihlásit se na vzdálený počítač.

    !!!Pro jeho činnost je nutné aby nebyl spuštěn Xserver a žádný graf. Správce. Je nutné se přihlašovat v textovém režimu a navíc je nutné se přihlašovat na prvním terminálu. Je tam podmínka jsou-li X-ka neběžící a jsme-li na tty1.

    Funguje to jednoduše. v souboru ~/.muj_start.conf jsou uložena jednotlivá sezení a příkaz(y), které se mají provést pro jejich spuštění. Nemusíme spouštět celé sezení, umí to spustit i jedotlivé aplikace (správce oken + něco + něco). Já mám něco takového na xfce. Nespouštím celé sezení, ale jen něco. A jako poslední se spustí emulátor terminálu terminal, který když zavřu, tak se zastaví X-ka a já se vrátím do textového režimu.

    Když se script spustí, dá vám 3 sekundy na to, aby jste stiskly "c". Pokud jej nestisknete, nastartuje se default sezení. Když ho stisknete, můžete si vybrat sezení, nebo počítač, kam se chcete pomocí XDMCP přihlásit.

    script ~/.muj_start pouze nabídne výběr a zpracuje váš vstup. Následně dle vašehu vstupu případně upraví proměnou $nastartuj (důležitou pro startx) a proměnnnou $default (pokud změníme default sezení).

    A v souboru ~/.xinitrc je nastaveno pouze že má číst proměné ze souboru ~/.muj_start.conf a co s nimy má udělat. V podstatě si pouze přečte $nastartuj a postupně provede jeden příkaz za druhým. Obsahuje-li $nastartuj více hodnot, tak ta co je uvedena jako první se nastartuje jako poslední s příkazem exec

    Samotný popis jak script funguje je přímo v něm. To jsem si tam psal pro sebe, abych vůbec věděl, co jsem tam udělal.

    scripty

    !!! Jsem BFU. Nikomu to nedoporučuji požívat, pokud to zkušení uživatelé nepodpoří.

    1. Do ~/.bashrc jsem přidal příkaz na spuštění mého scriptu. Takže se můj script spustí ihned po přihlášení v textovém režimu.

    sh ~/.muj_start

    Proměnné jsem definoval v souboru ~/.muj_start.conf a pravě zde jsou uložena Desktopová prostředí, či Správci oken a příkazy, které se mají provést pro jejich spuštění. Možná by stálo za to ještě vytvořit script na přidávání a odebírání Desktopového prostředí. Zatím se to musí provádět ručně.

    ~./.muj_start.conf

    #
    #
    #~/.muj_start.conf
    #
    #-----------------------------------------------------------
    #DESKTOPOVE PROSTREDI  - SPRAVCE OKEN
    #-----------------------------------------------------------
    #zde pripis nove sezeni
    
    sezeni=(gnome xfce WM openbox zachrany_terminal) 
    
    #zde je definovana promenna "sezeni", jejichz obsahem
    #je "pole". tzn. Nekolik prvku "pole".
    #prvek 0 je "Gnome" - volame ${sezeni[0]}
    #prvek 1 je "xfce" - volame ${sezeni[1]}
    
    
    #----------------------------------------
    #PRIKAZ(Y) PRO START SEZENI 
    #----------------------------------------
    
    #Zde definuj prikazy, ktere se nastartuji pri volbe sezeni
    #!!!prikaz, ktery bude prvni v poradi se nastartuje jako posledni a pri jeho ukonceni se ukonci i X-server
    
    
    xfce="terminal xfwm4 xfce4-panel xfdesktop pidgin firefox claws-mail"
    gnome="gnome-session"
    WM="wmaker"
    openbox="openbox-session"
    zachrany_terminal="xterm"
    
    #--------------------------
    #DEFAULT SEZENI
    #--------------------------
    
    #zde je nastaveno default sezeni
    #tato promenna se generuje sama
    
    default="xfce"
    
    
    #------------------------------------
    #VZDALENY PRISTUP
    #-----------------------------------
    #Zde je definovano jmeno PC a jeho IP adresa, pomoci ktere se prihlasime
    
    
    XDMCP=(rapi)
    rapi="X -query 192.168.1.2"
    
    #-----------------------------------
    #PRIKAZY PRO START
    #----------------------------------
    #Promenna ktera se generuje sama
    
    nastartuj=(terminal xfwm4 xfce4-panel xfdesktop pidgin firefox claws-mail)
    
    

    ~/.muj_start

    #!bin/sh
    
    . ~/.muj_start.conf
    
    #----------------------
    #funkce kontroly
    #----------------------
    #K promene what priradim prvni pozicni parametr
    # provedu posun poz. param. o jednu
    #pro promenou $i vypisu vsechny pozicni parametry
    #jestlize what se nachazi v $i, vrat pravdu
    #(what jsme zadali a pro $i se vypsaly vsechny poz. param.)
    #jinak vrat nepravdu
    
    kontrola() {
        what=$1           
        shift                   
        for i in $@; do   
            [ "$what" = "$i" ] && return 0   
        done						   
        return 1                                          
    		}
    
    
    #---------------------------------------------
    #fnkce na vygenerovani $nastartuj
    #---------------------------------------------
    # funkce, ktera v souboru muj_start.conf upravi $nastartuj.
    #Vse co je v $nastartuj mezi () nahradi.
    
    definuj_prom() {
    	sed -i "s/nastartuj=\([^\)]*\)/nastartuj=\($zmena/" ~/.muj_start.conf
    }
    
    
    #--------------------------------------------
    #funkce, ktera nastartuje xserver
    #--------------------------------------------
    #Funkce, ktera provede startx. 
    #Startx se provede pouze v okamziku, ze jsme na 1.terminalu (tty1)
    #a zaroven X jeste nejedou
    
    
    spustX()
    if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/tty1 ]]; then
    startx &
    fi
    
    
    #---------------------		
    #provadeci script		
    #---------------------
    #cteni vstupu uzivate po 3 sek. se samo zvoli "no"
    #pri volbe "no" se provede kontrola jestli $nastartuj obahuje spravne hodnoty
    #pokud ano nastartuje se default sezeni
    #pokud ne, zavola se funkce zmena a hodnoty a
    #$nastartuj se nahradi za ty spravne
    
    clear
    echo "Startuji X-server a default sezeni: $default"
    echo "--------------------------------------------------------"
    echo "Pro zmenu stiskni [ c ] - Mas na to 3 sekundy "
    read -t 3 e || e="no"						
    										    
    if [ "$e" = "no" ]; then					         
    	if [ "${!default}" = "${nastartuj[*]}" ]; then     
    	echo "startuji $default"					    
    	else
    	zmena=${!default}					    
    	definuj_prom $zmena					   
    	echo "startuji $default"
    	fi
    	spustX &
    	exit
    fi
    
    #vyber sezeni, nebo stroje, kam se chceme prihlasit
    
    clear
    echo "SEZENI: ${sezeni[*]}"
    echo "-----------------------------"
    echo "VZDALENY STROJ (ke kteremu se muzes prihlasit): ${XDMCP[*]}"
    echo "-----------------------------"
    echo "Cekam na vstup"
    
    
    read x
    
    #Struktura until...;do..done se provede je-li podminka nepravdiva.
    #Tzn. Jestlize funkce kontrola() vrati nepravdu, ridici struktura until... se provede.
    #Funkci kontrola() zavolame s parametry do kterych vlozime obsah pole $sezeni a $XDMCP
    #To zajisti, ze jestli uzivatel udela preklep a zada napr. sezeni, ktere neni v promene $sezeni
    #funkce kontrola vrati false a tato struktura zajisti druhy pokus.
    
    until kontrola $x ${sezeni[*]} ${XDMCP[*]}; do 	
    	echo "Nekde jsi udelal chybu - zkus to znova"
    	echo "Cekam na vstup"
    	read x
    done
    
    
    
    
    # Pri vzdalenem prihlaseni se nepouzije prikaz #startx
    #Proto provedu znova kontrolu vstupu a jestli uzivatel zadal jmeno jineho PC
    #provede se prikaz pro prihlaseni na vzdaleny stroj
    
    #!!!! V $XDMCP a $sezeni NESMI figurovat stejna hodnota.
    
    #To znamena, ze nesmime pouzit pro nazev vzdaleneho stroje stejne jmeno jako pro nejake sezeni
    #Jestlize nezadame jmeno PC, ale jmeno sezeni, provede se dotaz
    #jestli chceme zmenit default sezeni a pokud ano
    #nahradi se hodnota #default
    #Pak se uz jen definuje $nastartuj a provede se #startx
    
    if kontrola $x ${XDMCP[*]}; then
    	${!x} & 
    	exit
    	else 
    	echo "Chces zmenit vychozi sezeni? (yes or no) " 
    	read y
    		if [ "$y" = "yes" ]; then
    		sed -i "s/default=\"[^\"]*\"/default=\"$x\"/" ~/.muj_start.conf
    		fi
    	zmena=${!x}					#nacteni hodnoty $x do $zmena
    	definuj_prom $zmena	
    	echo "startuji $x"
    	spustX &
    	exit	
    	fi
    

    A poslední je soubor ~/.xinitrc , který nastartuje dané sezení

    ~/.xinitrc

    #!/bin/sh
    
    numlockx &
    
    . ~/.muj_start.conf				
    
    proved() {					
    	posledni=$1				
    	shift					
    	
    while [ -n "$2" ]; do 
    	$2 &			
    	shift            		
    done				
    	
    	exec $posledni 			
    }
    
    proved ${nastartuj[0]} ${nastartuj[*]}	
    
           

    Hodnocení: 80 %

            špatné • dobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    8.11.2009 21:04 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    A co zakladni XDM?
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    8.11.2009 21:14 slayn | skóre: 5 | blog: Cokoliv
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    nebo Qingy
    To err is human, to arr is pirate!
    vlastikroot avatar 8.11.2009 21:31 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Slim :-) Neni sice tak lightweight jako qingy, ale je good.
    We will destroys the Christian's legion ... and the cross, will be inverted
    9.11.2009 00:01 kralyk z abclinuxu | skóre: 29 | blog:  
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Dá se se slimem přihlásit do KDE?
    Vzpomínám si, že mi to onehdá nešlo... není na to nějakej workaround?

    Témata pro slim jsou fakt pěkná... a snadno se tvoří další...
    9.11.2009 00:09 kralyk z abclinuxu | skóre: 29 | blog:  
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Á, tak nic, beru zpět, I will use google before asking stupid questions..., tady to je, hurá, zítra vyzkoušim... :-D
    herne the hunter avatar 19.11.2009 23:54 herne the hunter | skóre: 10 | tor lara
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    slim umi XDMCP?
    i am herne the hunter and you are a leaf driven by the wind.
    8.11.2009 21:46 Jcas | skóre: 19 | blog: linux v rukou ...
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    xdm, slim, a ještě jeden na "e" jsem už objevil a uvšech tři, co jsem zjistil tak pravě není možné oboje. Možná jsem studoval špatně, ale XDM nemí výběr sezení (musí se editovat xinitrc. Slim neumí XDMCP atd. S qingly jsem se ještě nestkal. Ale po pravdě už nemám důvod hledat správce přihlášení. ten script dělá přesně to co chcu a u mně funguje skvěle. Akorát nevím jestli je vše tak jak má být. Svěřit se správci přihlášení znamená, že jednoho dne po aktualizaci opět může nastat problém.
    8.11.2009 23:48 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    XDM umi vsechno: http://www.jonh.net/lppcfom-serve/cache/474.html
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    9.11.2009 01:56 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    A co wdm?
    Jinak Qingy neznám, vyzkouším...
    Jsem mimořádně obtížný případ
    9.11.2009 02:22 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Hele, co jsem našel... :-D http://www.youtube.com/watch?v=LCiFP4iXQRI
    Vypadá to fakt hustě, jen doufám, že se mi to podaří zprovoznit...
    Jsem mimořádně obtížný případ
    Amarok avatar 18.11.2009 13:40 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem

    Jsem nejak hodne exoticky, kdyz zadne automaticke prihlasovani nepouzivam? Startuju do terminalu, prihlasim se a pro spusteni fluxboxu zadam "x", coz je zkratka pro "startx" :-) zadani toho x mi neprijde jako prace navic, taky se nekdy stane, ze hned fluxbox nespoustim.

    Jinak tady ten skript v clanku je urcite dobra vec, me se takove jednoduche reseni libi nejvic, proste KISS.

    GNUniverse - May the source be with you...
    18.11.2009 18:37 Jcas | skóre: 19 | blog: linux v rukou ...
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Já taky startx epovažuji za nějakou extra práci navíc. Háček je v tom, že dost často měním sezení (dle nálady) a v tomto případě to vždy znamená editaci ~/.xinitrc. A další věc je ten vzdálený přístup. Jednak rád zapomínám příkazy, takže si za měsíc nevzpomenu na -query a potom mě ani netrápí pamatovat si IPadresy.
    19.11.2009 23:08 kralyk z abclinuxu | skóre: 29 | blog:  
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Další možnost by byla startovat systém do terminálu (nativního) s tím, že xka by se nechaly startovat na pozadí. Ale nevím, jestli to je možný...
    Amarok avatar 20.11.2009 12:50 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem

    Mozny to je na 100% :) Otazka spis mela znit, kdo vi jak na to.

    GNUniverse - May the source be with you...
    jose17 avatar 20.11.2009 15:10 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    to vyzera trochu ako cdm, nie?
    Ja vim, on vi, ty nano!

    Založit nové vlákno • Nahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.