Portál AbcLinuxu, 16. dubna 2024 14:22


Dotaz: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.

5.8.2004 23:20 MMartin
Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Přečteno: 572×
Odpovědět | Admin
Zdravim vsechny.

Pro zacatek pouzivam debika v unstable verzi :-) na KDEckach

Nejsem linux guru, ale nejake jadro uz jsem prelozil a desktop vyladil celkem solidne vcetne tvkarty, takze nejsem uplny zacatecnik a pritom jsem :-) zacatecnik.

Tak trochu nyni resim problem jak provadet nektere operace ihned po spusteni systemu automaticky abych je nemusel delat rucne.

Uz mam predstavu o tom, jak to v linuxu chodi se spoustenim app po najezdu systemu prostrednictvim /etc/rc1.d atd.. vim zhruba jak to funguje a procesy ktere nechci aby bezely umim vypnout ci naopak zapnout.

Narazim ale na "spoustu" drobnosti, ktere jsou ve winech celkem elegantne vyreseny souborem autoexec nebo v menu po spusteni.

Chci se tedy zeptat zda existuje nejake misto kam vepsat prikazy, ktere by se mely provest po spusteni systemu. Napr.

a) (nejak to jde asi automountem - zatim nechci resit) mountovani disku z jinych partici. mount /dev/hda4 /mnt/e atd...

b) aliasy. nyni je mam zapsane v /etc/profile ale tohle nastaveni mi zase neprebira terminal v xkach

c) spusteni nejake aplikace po prihlaseni. Ale tak aby se spustila pouze jednou. Ne v kazde konsoli jak se to deje s nastavenim v /etc/profile

atp...

existuje nejaka takova moznost ?

PS: Nemusite odpovidat na ty tri body ktere jsem nastinil bohate bude stacit odpoved na hlavni tema :-) dik.

                                                                            s pozdravem MMartin
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.8.2004 23:45 dzanny_213
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Autoexecu asi nejvíce odpovídá soubor /etc/rc.local, kterýžto se spouští při každém startu PO inicializaci pomocí /etc/rc.d. Mounty je ovšem lepší připsat do /etc/fstab nežli je vkládat kamkoli jinam, spouštění aplikací na pozadí zase mnohem lépe řeší zmiňované skripty v /etc/rc.d tak mne ani nenapadá, copak by bylo zrovna sem vhodného vkládat. Třeba v mém MDK 9.2 je zde pouze pár výpisů...
5.8.2004 23:53 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin

a) viz. man fstab. do /etc/fstab napises, jake zarizeni se ma kam pripojit a kdyz to chces pripojit hned pri bootu, zadas option auto (4. sloupec tabulky)

b) viz. man bash. profile se cte jen pri spusteni login shellu, aliasy zadej do .bashrc, v profile je vetsinou radka source ~/.bashrc ktera zajisti ze se aliasy nactou jak pro login tak pro non-login shell

c) nevim, holt budes muset asi v profile otestovat, jestli uz dana aplikace neni spustena.

6.8.2004 00:14 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mno, požadavek je to celkem logický, máš dobrý postřeh - je to rozházené ve vícero souborech. To proto, aby šlo ovládat každý stav při startu ('do grafiky', nouzovka, síť atp.). Jednotné místo ale nefunguje - je třeba si ho vyrobit, nebo to spouštět jednotlivě; je to jak lego.

Slackware má například k tomuto účelu rc.local. Správce oken pekwm má skript start, který se spouští po startu binárky, nebo při restartu.

Různé desktopy (KDE, GNOME) mají svá 'Spustit při startu' - jen je najít.

BTW, jak jsi přišel na to, že se 'odborník' (čili nezačátečník) pozná podle toho, že přeložil jádro? Já už se snad ani za začátečníka nepovažuju, ale překládání jader je činnost, kterou (na desktopu) až na výjimky nechápu a absolutně mě nezajímá (ta výjimka je exotický hw, no flame). Moc jsem jich za život nezkompiloval (taky nejsem žádný odborník ;-)).
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
6.8.2004 10:15 #2453 | skóre: 21
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
To s tim kernelem je tvoje vec ze ti staci ten, co je v distru. Ale takovi jako ja, maj ve zvyku kernel prekladat primo na miru pro kazdy stroj - koneckoncu tim sirim zkusenost, ze Linux umi bezet na cemkoliv uspokojive... Myslim, ze kdyz byl schopnej prelozit si svoje vlastni jadro, tak mu nemuzeme brat to, ze uz neco dokazal. IMHO, sekretarka by jadro asi neprelozila.

Jinak jsem Debianista a mam pocit, ze v Debianu /etc/rc.local neni - ja jsem si vzdycky napsal skript a dal ho do /etc/rc.boot/skript

Tomas
6.8.2004 12:19 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Koneckonců tím šíříš blud, že je nutné si jádro zkompilovat. Víš, jak jsem se toho děsil, když jsem s linuxem začínal? Pořád jsem se bál, kdy to přijde, ta nutnost kompilovat jádro. Dost dlouho mi trvalo, než jsem to překonal a zjistil, že to není potřeba.

Ale nechci se hádat - jen nastiňuju druhý úhel pohledu...;-)
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
6.8.2004 14:48 #2453 | skóre: 21
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Dobre, ale ja nerek, ze je to nune. Jen si proste myslim, ze je to lepsi z hlediska slabsich nebo naopak high-endovych stroju. At si kazdej na svy stanici dela co chce, ale kdyz nekdo chce Linux na 3/486ce s 8MB RAM, tak bych skoro rek ze to nutne je. Proc mam mit v pameti zbytecne veci ktery vubec nepotrebuju a nikdy potrebovat nebudu ? Ano, taky jsem se prvniho prekladu docela obaval, ale ted vim, ze prave tohle je sila Linuxu - jaky si to udelas, takovy to mas. To je podle me taky jeden z mnoha duvodu, proc jsou M$ Win na serveru tak nestabilni. Je to dobry treba i z hlediska bezpecnosti ( tohle bych asi nedelal na stanici, ale na serveru ) - proc vubec mit podporu LKM ? To muzu do /etc/motd napsat rovnou adresu, kde se da stahnout LKM rootkit...

Dobre uz se dal nebudem dohadovat, tohle mi proste nedalo.

Tomas
8.8.2004 10:18 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
http://readme.gzipped.org/download/jammod/README
-- Nezdar není hanbou, hanbou je strach z pokusu.
8.8.2004 15:43 #2453 | skóre: 21
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Dobry. Nekdy se nejde nekterejch problemu zbavit uplne, takhle to nekomu alespon ztizim. Precejen to neumej vsechny rootkity a ten modul v pameti stejne musi byt, takze neni problem ho tam najit a zvlast kdyz tam je jedinej.

Tomas

Tohle ale neni tema tyhle diskuse, tak toho nechame.
8.8.2004 12:41 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
mno na slacku me pripada docela dobre prelozit si nektere casti systemu pro dany procesor (i486 pro 10.0) neni zrovna vyhra treba pro AMD K7 - ja osobne si tak kompiluju pouze jadro a video prehravac :-) a vyladeni opravdu trochu prida vykonu, ale ted je otazka jestli ty male procenta hraji roli...

btw. muj notebook ma bez patchu problem nabehnout v FB a to nemluvim o ACPI (kde jsem na hledani slusneho patche rezignoval a nechavam ho logovat chybove hlasky - jenom, kdyz se umi sam vypnout....)
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
Josef Kufner avatar 6.8.2004 00:58 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Veskerou konfiguraci, ktera se tyka uzivatelskeho prostredi a ne celeho systemu umistuj do sveho domovskeho adresare a nikam jinam (pochopis pri upgradu, pri prechodu na jine distro nebo zalohovani). Co se tyce "spustit pri startu" tak existuje soubor ".Xsession" a jiz zmineny ".bashrc" a mnoho dalsich, ale to uz zjistis z manu...

Doporucuju aby jsi si precetl nejake hezke povidani. "Linux - Dokumentacni projekt" neni spatnou volbou. Osvetli ti to spoustu zakladnich veci a mnohe z nich funguji dosti jinak nez na win. A ukaze mnohe suvislosti.
Hello world ! Segmentation fault (core dumped)
Josef Kufner avatar 6.8.2004 01:00 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
> Pro zacatek pouzivam debika v unstable verzi :-) na KDEckach

Myslim, ze spis pouzivas KDE na Debianovi... ;-) (imho je to dobra volba)
Hello world ! Segmentation fault (core dumped)
6.8.2004 07:52 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vacsina odpovedi sa zamerala na to co je vlastne startup skriptom. Podla mna je ale efektivnejsie riesit konkretne problemy:

  1. Je zvykom ze system pusti pri bootovani mount -a aby sa primontovali filesystemy, ktore maju nastavene 'auto' v /etc/fstab - takze tu volbu dopln pre svoj fs a je to.
  2. aliasy sa skutocne pisu do startup-skriptu shellu (/etc/profile,/etc/csh.login/,~/.profile,~/.login, ...). Aby Ti fungovali v X mozes povedat terminalu aby pustali login shell - konsole ma na to checkbox v nastaveniach, xterm ma prepinac '-l' atd atd.
  3. Spustene programu (zvycajne neinteraktivneho) sa robi bud zo startovacich skriptov (napr. rc.local) alebo z /etc/inittab (pole 'akcia' bude v tvojom pripade 'once')
Ak mas dalsie, tak napis konkretne.

P.S.: Kompilovanie jadra mnohi beru ako 'cierny pasik v karate' ;-) ale to je omyl. Nie je to ekvivalent 'chapania systemu' je to len vec, do ktorej sa pustaju ti lepsi pretoze chapu system. Ale chapanie systemu nie je absolutne nevyhnutne pre kompilovanie jadra ;-)

6.8.2004 08:27 thakila
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
vsechno to prede mnou je dobre, jen jeste zkusim doplnit :-)
takze 'prvni' (mno ...) proces je init, je dobre si precist 'man init', 'man inittab' - konfigurace initu se provadi v /etc/inittab a kdyz si tam das, ze se ti neco ma spoustet initem, bude se to spoustet initem. z inittab (je to jak je dobrym zvykem textovy soubor) zjistis, ze se v ruznych runlevelech spousteji ruzne rc skripty - tohle je na kazde distribuci ruzne, ale kazda nejake rc skripty ma a pousti je z initu. v nejakem rc skriptu byva pak uvedeno, aby zavolal i rc.local - jak uz tu padlo, byva to az uplne nakonec.
'man bash' ti prozradi, na co je /etc/profile, ~/.profile, ~/.bashrc - o tom uz se tu mluvilo. tady si zjisti, jestli ten terminal v x startujeje login shell, nebo ne. kdyz to das do ~/.bashrc, tak to budes mit vsude, ale potom pozor, abys tim nevlezl do cesty nejakym skriptum, pokud si treba predefinujes 'cat' :-). s timhle trochu vzdalene souvisi adresar /etc/skel, viz 'man useradd'.
okna do xek po startu ti nejak zaopatri asi kde, jak tu nekdo psal. s kde nepracuju, tak nevim. ja si to davam do xinitrc.
6.8.2004 12:11 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Programy ktere se maji spoustet pri bootu bych asi nedaval primo do /etc/inittab, od toho jsou rc.* adresare Debianu nebo rc.d/rc.* soubory Slacku.
7.8.2004 23:16 MMartin
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) - Podekovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dekuji za objasneni.

Hlavne jsem chtel vedet jestli se nepoustim zbytecne slozitou cestou pokud by existovala jednodussi.

Co se tyce prekladu jadra souhlasim s obemi stranami. Jadro se opravdu nemusi prekladat do okamziku kdy se nam podari narazit na nejaky problem ktery se holt jinak vyresit neda. V mojem pripade to byla TV karta, pro kterou jsem nemel podporu ve standardnim jadre + to ze mi vadila 2.2jka v instalackach debika.

Nicmene vzhledem k tomu, ze jako vsichni zacatecnici jsem se toho nejvice obaval, rozhodl jsem se ze se postavim drakovi celem :-). Po nekolikerem prekladu jsem prisel na to, ze na tom opravdu neni nic sloziteho a mnoho zajimavejsich a mnohem (promne zatim)slozitejsich hracek ceka na vyreseni - jako treba problem ktery jsme tu resili.

Jeste jednou dik Vam vsem za odpovedi.
8.8.2004 01:09 plamen
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) - lehce OT
Ehm, MMartine, můžu se zeptat jakou verzi debi(l)ka používáš? Co moje znalosti sahají, stabilní verze woodyho obsahuje krom jiného i jádro 2.4.18, a to pod značkou 2.4.18-bf2.4. Já osobně mám woodyho a kromě kritických serverů, kde si hlídám standard (kvůli security patchům) mám již všude woodyho s jádrem z řady 2.6.
8.8.2004 01:20 Lukáš Turek
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Celé jsem si to pročetl a ještě tu všechny možnosti vyjmenovány nebyly, snad v tom tazateli neudělám zmatek: Pokud chceš, aby se něco spustilo po spuštění KDE, tak to dej do ~/.kde/Autostart. Funguje to jako "Spustit po startu" ve Woknech, dokonce se tam dají dát i zástupci (.desktop).
10.8.2004 09:56 Tomáš | skóre: 31 | blog: Tomik
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Odpovědět | | Sbalit | Link | Blokovat | Admin
ad b+c: existují 2 soubory .bash_něco, jsou to .bashrc (pro login shell) a .bash_profile (pro non-login shell), oba mají své globální verze v /etc, ale s jinými názvy. V komentáři na začátku každého z nich je malé povídání (v Debianu, u ostatních to může být jinak). Já to řeším tak, že všechno, co chci dělat v každém otevřeném terminálu nacpu do .bash_profile. Stejné věci chci dělat i v login-shellu, takže si z .bashrc načtu soubor .bash_profile takto:
#soubor .bash_profile
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
Do .bash_profile pak doplním to, co chci dělat v login-shellu navíc.

Pokud není množina akcí požadovaná v login-shellu nadmnožinou akcí požadovaných pro non-login-shell, tak ty společné věci musíš buď psát do obou .bash... nebo je nacpat do úplně jinéhosouboru a ten si načíst v obou.
10.8.2004 10:07 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
Mozna je jeste lepsi misto .bash_profile pouzit .profile, pak se vsechno v tom provede i kdyz je bash volan jako sh.
10.8.2004 10:28 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
INVOCATION
       A  login shell is one whose first character of argument zero is a -, or
       one started with the --login option.

       An interactive shell is one started without  non-option  arguments  and
       without  the  -c  option  whose standard input and output are both con-
       nected to terminals (as determined by isatty(3)), or one  started  with
       the  -i  option.   PS1 is set and $- includes i if bash is interactive,
       allowing a shell script or a startup file to test this state.

       The following paragraphs describe how bash executes its startup  files.
       If  any  of  the files exist but cannot be read, bash reports an error.
       Tildes are expanded in  file  names  as  described  below  under  Tilde
       Expansion in the EXPANSION section.

       When  bash is invoked as an interactive login shell, or as a non-inter-
       active shell with the --login option, it first reads and executes  com-
       mands  from  the file /etc/profile, if that file exists.  After reading
       that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,
       in  that order, and reads and executes commands from the first one that
       exists and is readable.  The --noprofile option may be  used  when  the
       shell is started to inhibit this behavior.

       When  a  login  shell  exits, bash reads and executes commands from the
       file ~/.bash_logout, if it exists.

       When an interactive shell that is not a login shell  is  started,  bash
       reads  and  executes  commands  from /etc/bash.bashrc and ~/.bashrc, if
       these files exist.  This may be inhibited by using the  --norc  option.
       The  --rcfile  file option will force bash to read and execute commands
       from file instead of /etc/bash.bashrc and ~/.bashrc.

       When bash is started non-interactively, to  run  a  shell  script,  for
       example, it looks for the variable BASH_ENV in the environment, expands
       its value if it appears there, and uses the expanded value as the  name
       of  a  file to read and execute.  Bash behaves as if the following com-
       mand were executed:
              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
       but the value of the PATH variable is not used to search for  the  file
       name.

       If  bash  is  invoked  with  the name sh, it tries to mimic the startup
       behavior of historical versions of sh as  closely  as  possible,  while
       conforming  to the POSIX standard as well.  When invoked as an interac-
       tive login shell, or a non-interactive shell with the  --login  option,
       it  first  attempts  to read and execute commands from /etc/profile and
       ~/.profile, in that order.  The  --noprofile  option  may  be  used  to
       inhibit  this  behavior.  When invoked as an interactive shell with the
       name sh, bash looks for the variable ENV, expands its value  if  it  is
       defined,  and uses the expanded value as the name of a file to read and
       execute.  Since a shell invoked as sh does not attempt to read and exe-
       cute  commands from any other startup files, the --rcfile option has no
       effect.  A non-interactive shell invoked with  the  name  sh  does  not
       attempt  to  read  any  other  startup files.  When invoked as sh, bash
       enters posix mode after the startup files are read.
Já myslím, že líp už to ani není možné napsat.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
10.8.2004 10:31 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Autoexec.bat v linuxu :-) Prosim nevrazdete mne.
viz. man bash hned ve druhy odpovedi ;-)

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.