abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:22 | IT novinky

    Organizace IuRe (Iuridicum Remedium) varuje před návrhem, který představilo belgické předsednictví Rady EU. Populární služby jako Messenger, WhatsApp nebo Signal by dle něj bylo možné plně používat až po odsouhlasení kontroly komunikace. Ta by měla zamezit šíření dětské pornografie. Podle IuRe by však taková kontrola přinesla hlavně závažný dopad na soukromí uživatelů.

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

    NumPy (Wikipedie), tj. knihovna pro Python pro vědecké výpočty, byla po 18 letech vydána v nové major verzi 2.0.0. Přehled novinek v poznámkách k vydání. Důležité informace v průvodci migrací.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Nová verze

    Vývojáři postmarketOS vydali verzi 24.06 tohoto před sedmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, KDE Plasma a Sxmo. Aktuálně podporovaných zařízení je 50.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    14.6. 12:11 | IT novinky

    Google Blog ČR informuje, že mobilní aplikaci Gemini a NotebookLM lze používat už také v Česku.

    Ladislav Hagara | Komentářů: 18
    14.6. 11:33 | Nová verze

    Byla vydána nová major verze 8 duálně licencovaného open source frameworku JUCE (Wikipedie, GitHub) pro vývoj multiplatformních audio aplikací.

    Ladislav Hagara | Komentářů: 0
    14.6. 11:11 | IT novinky

    Od 18. června bude možné předobjednat notebook DC-ROMA RISC-V LAPTOP II od společnosti DeepComputing s osmijádrovým 64-bit RISC-V AI CPU a s předinstalovaným Ubuntu.

    Ladislav Hagara | Komentářů: 2
    13.6. 23:55 | Nová verze

    Byla vydána verze 1.79.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    13.6. 14:33 | Zajímavý článek

    Byly zveřejněny výsledky průzkumu (infografika) mezi uživateli FreeBSD.

    Ladislav Hagara | Komentářů: 0
    13.6. 13:22 | IT novinky

    Na konferenci DevConf.CZ 2024 je na stánku Furi Labs prezentován linuxový telefon FuriPhone FLX1. Jeho cena 499 dolarů.

    Ladislav Hagara | Komentářů: 19
    Rozcestník

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

    8.11.2009 20:40 | Přečteno: 1424× | 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.