![]() | Varování |
|---|---|
Tato kapitola je určena pouze pro pokročilé uživatele. Zde uvedené postupy vyžadují práva uživatele | |
V této části se dovíte, jak dosáhnout plynulého netrhaného přehrávání. tento problém není spojen jen s Linuxem, ale vůbec se všemi multitaskingovými operačními systémy. V těchto systémech běží najednou několik procesů, které si konkurují v přístupu ke zdrojům. Protože procesor může pracovat jen s jedním procesem najednou, má každý proces vymezenou určitou dobu, po který je zpracováván procesorem. Okamžiky, kdy není a je zpracováván, se střídají tak rychle, že je za normích okolností uživatel vůbec nevnímá.
Během přehrávání zvuku je však situace jiná a znatelné jsou třeba jen kliknutí myší. Tento problém se řeši tak, že aplikace používají tzv. buffer. Zvuk je prak netrhaný a nenarušují ho ani prostá kliknutí myší.
Velikost bufferu však omezuje reakční dobu (zpoždění) programu na příkazy. U interaktivních aplikací jako syntetizátory pracující v reálném čase nebo konzolo DJ směšovače je proto buffer nastaven na minimální možnou hodnotu. Přerušení závisí také na zatížení systému a priorite procesu. Velikost bufferu proto lze zmenšit, pokud se zvýší priorita procesu přehrávání. Nastavení priority však může provádět pouze uživatel root.
Jako příklad si můžem uvést přenastavení FIFO časovače u programu timidity:
Spusťte timidity
Jako uživatel root si otevřete konzoli.
Použijte příkaz pidof timidity k nalezení ID procesu programu timidity.
Změňte časovač příkazem setpriority <ID_procesu> fifo 10.
pro urychlení můžete jako root root zadat celý proces najednou:
for i in `pidof timidity`; do setpriority $i fifo 10; done
Spouštění programu pod uživatelem root je vždy velmi nebezpečné, protože tomuto programu je v systému dovoleno dělat proakticky vše. V případě připojení k Internetu může dojít k ohrožení bezpečnosti systému, protože program může obsahovat chyby umožňující vzdálený přístup.
![]() | Varování |
|---|---|
Příkazy popsané dále by nikdy neměly být spouštěny na počítačích s připojením k Internetu nebo na počítačích, kde jsou uložena důležitá data. | |
Pro spuštění programů v superuživatelském režimu se používá sudo mechanizmus. Jeho princip si ukážeme na aplikaci timidity++. Aby mohli všichni uživatelé spouštět timidity++ application
v superuživatelském režimu, změňte soubor /etc/sudoers. Postup najdete v manálových stránkách sudo(8) a sudoers(5). Pokud si příliš nerozumíte s editorem vi, zvolte si prostě editor, který vám nejvíce vyhovuje. Výchozí editor systému např. joe nastavíte příkazem export
EDITOR=joe. Pak jako uživatel root vykonejte příkaz visudo a na konec souboru /etc/sudoers přidejte řádku:
ALL ALL=(ALL) /usr/bin/timidity
Nyní mohou všichni uživateké spouštět timidity++ v superuživatelském režimu příkazem sudo timidity. Po uplynutí více než pěti minut od zadání posledního příkazu sudo je vyžadováno heslo uživatele root.