přejít na obsah přejít na navigaci

Linux E X P R E S

Symphera - PM konference

Příspěvky Jak spouštět v Linuxu libovolné soubory

Re: Jak spouštět v Linuxu libovolné soubory
Jirka 22. 02. 2017, 12:10:03
Odpovědět  Odkaz 
Určitě přínosný a zajímavý článek, nicméně spíš pro ty, kteří chtějí jít opravdu do hloubky a zcela preferují práci v konzoli a souvisejících nástrojích...

Já naproti tomu oceňuju, že Linux má při použití prakticky jakéhokoliv "lepšího" GUI možnost "klikoidně" nastavit přímo v systému asociaci souborů velmi podobně jako to mají třeba Windows.

Navíc to obvykle lze udělat minimálně dvěma způsoby: buď přes Nastavení systému - Asociace souborů, nebo ve správci souborů přes pravé myšítko, otevřít čím atd. (teď jsem popsal situaci v KDE a Krusaderu, ale jinde to bude obdobné).

Velmi komfortní záležitost, kterou lze navíc obvykle dodatečně ručně modifikovat tak, aby výsledek byl přesně podle očekávání...
Jak spouštět v Linuxu libovolné soubory
fela 22. 02. 2017, 12:34:23
Odpovědět  Odkaz 
ďakujem za článok. Hoci aj pracujem v linuxe už pekných pár rokov, toto som nevedel.
Tomáš Crhonek Jak spouštět v Linuxu libovolné soubory
Tomáš Crhonek 22. 02. 2017, 16:35:20
Odpovědět  Odkaz 
Je koncepční otázkou, zda by toto mělo být úlohou jádra. Jádro má spouštět nativní binárky (ELF) a to je tak vše.

I u těch skriptů není problém je volat buď ze shellu, který vybere správného interpretra, nebo pokud se mají volat z jiných programů, tak je spouštět přímo přes interpretra.

Sám například do cronu (nebo timeru) vždy uvádím např. python program.py, i když je program.py samozřejmě uvozen správnou hlavičkou a bylo by jej možné spustit "přímo". (Po volání ./program.py se stejně nejdřív spustí řetězec hledání vhodného interpretru a nakonec se stejně spustí ten python program.py - resp. varianta python2.7 nebo python3.5 apod.)

U těch "neprogramových" souborů mi to přijde ještě uhozenější. Jednak je nutné jim dávat práva ke spouštění (i když to nejsou spustitelné soubory, takže nastane bordel v metadatech), ale hlavně z hlediska koncepce by se o toto měl fakt starat shell (obecně vrstva nad jádrem).

Dávat mp3 souboru atribut spustitelný jen proto, aby jádro zavolalo mpg123 soubor.mp3 mě přijde dost uhozené a nevím o případu, kdy je nemožné to zavolat přímo (tedy mpg123 soubor.mp3).

Nehledě na to, že (nejen) grafická uživatelská rozhraní používají k identifikaci typu souboru jeho MIME typ a podle MIME databáze vyberou vhodný program. Ten navíc může být jiný, než program uvedený v binftm. (Nehledě třeba na fakt, že u většiny DE si lze k danému souboru do mime db přiřadit více programů, které s daným formátem umějí pracovat, co u binftm nelze.)

Jinak teda tahle věta hovoří za vše:

"Tento interpret vznikl původně pro potřeby projektu Mono – vznikl totiž problém s tím, že spustitelné programy pro .NET mají stejou signaturu jako běžné spustitelné programy a nešlo tedy určit, zda se mají spouštět pomocí interpretu Mono nebo Wine."

To je fakt super. Místo psaní nativních aplikací pro linux se tam vstrčí Mono nebo Wine a protože to nejde rozlišit (proč?) tak se tam vrazí ještě další vrstva, která určí čím se to má spustit.

Takže tak. Nebudu víc kritizovat, článek je to pěkný, ale podle mě řeší problém, který v linuxu neexistuje a pokud ano, tak je k zamyšlení, proč ten problém vznikl.
Vojtěch Zeisek Jak spouštět v Linuxu libovolné soubory
Vojtěch Zeisek 22. 02. 2017, 17:28:48
Odpovědět  Odkaz 
Článek je hezký, ale přijde mi to zbytečné. Z nadpisu jsem vůbec netušil, o čem to má být. Mnohem užitečnější mi přijde příkaz xdg-open, který podle MIME otevře soubor ve správném programu. Moc šikovná věc. A pokud by ten příkaz byl moc dlouhý, lze mu přidělit nějaký jednopísmenný alias. :-)
Flowmon Friday 2019