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 04:44 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 4
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    16.9. 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.9. 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    16.9. 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (47%)
     (53%)
     (0%)
     (7%)
     (13%)
     (7%)
     (20%)
     (7%)
     (13%)
    Celkem 15 hlasů
     Komentářů: 1, poslední včera 13:49
    Rozcestník

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

    8.11.2009 20:40 | Přečteno: 1453× | 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áknoNahoru

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