Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Nový vytvářeč náhledů (thumbnailer) .exe a .dll souborů pro Nautilus  (Přečteno 4598 krát)

Jan Nekvasil

  • Stálý člen
  • **
  • Příspěvků: 620
Před časem jsem na základě jednoduchého thumbnaileru pro .exe soubory který jsem našel někde ubuntuforums.org vytvořil vylepšenou verzi. Pořád to ale nebylo ono – Nautilus totiž tou dobou trpěl regresí která roztahovala všechny malé náhledy na 96x96 px. Snažil jsem se udělat z nouze cnost, no moc ke koukání to nebylo. Poslal jsem to tenkrát Scottu Ritchiemu, správci Wine v Ubuntu, a s překvapením jsem to po čase našel (opět mírně vylepšené) v repozitářích jako gnome-exe-thumbnailer. Výsledky však pořád nebyly nic moc.

Teď, když je ta hloupá regrese v Lucidu konečně opravena, kompletně jsem thumbnailer předělal a přidal pár nových fíčur, jako třeba barevné rozlišení .exe a .dll souborů a zobrazování verze aplikace/knihovny tam kde je to možné. Troufám si říct, že výsledek vypadá moc hezky a zrovna ty informace o verzi souboru se mi ukázaly při mojí práci jako velmi praktické.

Aktualizováno:
Scott Ritchie přijal moji verzi a vydal ji jako gnome-exe-thumbnailer 0.3 v PPA pro aktuální verzi wine. Kdo jej používá, vystačí si se „sudo apt-get install gnome-exe-thumbnailer“, ostatní si můžou přímo stáhnout odpovídající .deb balíček.


Starý postup (doporučuji nepoužívat):

Pokud chcete thumbnailer vyzkoušet, vzhůru do terminálu:

Kód: [Vybrat]
sudo apt-get install icoutils
wget http://dl.dropbox.com/u/115761/gnome-exe-thumbnailer.tar.bz2
sudo tar xjvf gnome-exe-thumbnailer.tar.bz2 -C /
sudo gconf-schemas --register gnome-exe-thumbnailer.schemas
nautilus -q

Kontaktoval jsem už Scotta Ritchieho, třeba se to nakonec objeví i v repozitáři universe.
« Poslední změna: 16 Června 2010, 17:26:29 od Jan Nekvasil »

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6018
No to je moc pěkné. Dobrá práce!
V repu je verze 0.2. Ta nová je jaká?
« Poslední změna: 30 Května 2010, 13:25:44 od Rovano »
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

Jan Nekvasil

  • Stálý člen
  • **
  • Příspěvků: 620
Zatím žádná, Scott se mi ještě neozval. Vzhledem k tomu, že je to uvnitř kompletně překopané a výsledek je také zcela jiný (klasická 48x48 ikona místo 96x96 náhledu s největší možnou ikonou uvnitř) by to mohla v klidu být verze 1.0.

Jan Nekvasil

  • Stálý člen
  • **
  • Příspěvků: 620
Tak Scott už se mi ozval a dopadlo to lépe než jsem čekal. Kdo používáte PPA pro aktuální verzi wine, můžete nyní směle instalovat pomocí:
Kód: [Vybrat]
sudo apt-get install gnome-exe-thumbnailerpřípadně si přímo stáhnout odpovídající .deb balíček.

Verze dostala označení 0.3., možná další vylepšení do budoucna nevylučuji. Pokud vás něco napadá, co by tomu ještě chybělo nebo naopak přebývalo, napište sem na fórum a já se nad tím hluboce zamyslím.
« Poslední změna: 16 Června 2010, 17:21:15 od Jan Nekvasil »

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6018
Paráda!
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • ******
  • Příspěvků: 5153
Výborné :)
Mint MATE 64bit / DuckDuckGo.com
Programátoři považují WYSIWYG za špatné u kódu i u žen. Programátor chce "dostat to, co žádá“ – kód tajemný, neodpouštějící, nebezpečný.

Jan Nekvasil

  • Stálý člen
  • **
  • Příspěvků: 620
V Ubuntu 10.10 Maverick vyšla právě nová verze; gnome-exe-thumbnailer 0.6-0ubuntu1. Je v ní pár příjemných vylepšení a oprav, jako např. mírně zaoblené rohy štítků s číslem verze, chytřejší extrakce čísla verze z .exe/.dll souboru nebo lepší práce s písmem.

Prosím o pomoc s testováním, je docela možné, že tato verze už zůstane beze změn v Mavericku. Instalovat můžete i na starší vydání Ubuntu, jde o shellový skript v bashi kompatibilní snad se vším:

http://cz.archive.ubuntu.com/ubuntu/pool/universe/g/gnome-exe-thumbnailer/gnome-exe-thumbnailer_0.6-0ubuntu1_all.deb

Po nainstalování balíčku můžete smazat cache náhledů a znovu nahodit Nautilus pomocí:
Kód: [Vybrat]
nautilus -q; rm -r ~/.thumbnails; sleep 1; nautilus
Vyzkoušejte prosím tento thumbnailer na co nejvíce .exe, .dll a jiných binárních souborech pro platformu Windows. Chyby a případné náměty prosím pište do tohoto vlákna nebo (anglicky) na https://bugs.launchpad.net/ubuntu/+source/gnome-exe-thumbnailer

Díky Honza

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6018
Kde by se mi tu vzali nějaké exáče a dllka?  ;D

Chválím. Přiteklo mi to updatem předevčírem nebo kdy a skvělo se tam jméno Jan Nekvasil :)

To verzování je skvělý. To nemaj takhle ani Windows pokud je mi známo :)

K+
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

Jan Nekvasil

  • Stálý člen
  • **
  • Příspěvků: 620
Ještě lepší bude, když otestujete ještě novější verzi než je ta nová: https://bugs.launchpad.net/ubuntu/+source/gnome-exe-thumbnailer/+bug/622220/+attachment/1605791/+files/gnome-exe-thumbnailer.sh (patří to do /usr/bin).

Opravil jsem tam pár chyb, takže jediné .exe soubory, který by teď neměly získat ikonku do náhledu jsou ty, které obsahují ikony v komprimovaném formátu kterému nerozumí ubuntí icotool (patch je na cestě), nebo ty které prostě žádnou ikonku nemají.

Nevíte někdo náhodou, jestli mohou mít ikonky i .msi balíčky, nebo mají všechny jen takovou tu standardní ošklivou s počítačem, cédéčkem a krabicí?

Jan Nekvasil

  • Stálý člen
  • **
  • Příspěvků: 620
Scott Ritchie dnes nahrál do repozitáře pro Ubuntu Maverick gnome-exe-thumbnailer 0.7.

Kromě spousty oprav a podpory tzv. "Vista" ikon (hromádka PNG komprimovaných do jednoho souboru, vyžaduje icoutils >= 0.29.1) přináší tato verze základní podporu náhledů .msi souborů. Základní v tom smyslu, že informace o verzi se berou z výstupu příkazu „file SOUBOR.msi“, což jsou metadata typu Autor, Předmět, atd., připojitelná prakticky k jakémukoli souboru ve Windows. Tato metadata jsou velmi často neúplná, ale hlavně ze své podstaty nespolehlivá, protože mohou být snadno libovolně měněna. Skutečné číslo verze je ukryto v .msi balíčku (což je v podstatě jednoduchá relační databáze) v tabulce Property v klíči ProductVersion. V současnosti mám plně funkční pracovní verzi thumbnaileru, která jej dokáže vytáhnou na světlo boží, má to však dva háčky – ke správné funkci musí mít uživatel nainstalováno a zkonfigurováno Wine a, což je ten větší háček, wsh57, neboli Microsoft Windows Script Host 5.7. ProductVersion totiž prozatím tahám následujícím Visual Basic skriptem:
Kód: [Vybrat]
Dim WI, DB, View, Record
Set WI = CreateObject("WindowsInstaller.Installer")
Set DB = WI.OpenDatabase("$INPUTFILE",0)
Set View = DB.OpenView("SELECT Value FROM Property WHERE Property = 'ProductVersion'")
View.Execute
Wscript.Echo View.Fetch.StringData(1)
Je to bez ošetření chyb atd., aby bylo na první pohled jasno vo co go.

Protože nemůžu bláhově předpokládat, že každý uživatel Wine bude mít nainstalovaný wsh57, hledám zoufale někoho, kdo by toto uměl napsat v C/C++ s msi.dll jako (pokud možno) jedinou závislostí a zkompilovat do univerzálního exe souboru, který by pak thumbnailer mohl využít. Prostě na standardní výstup vypsat ProductVersion daného MSI balíčku, nic víc, nic míň.

Pokud by se mezi návštěvníky fóra našel někdo schopný a ochotný se tohoto ujmout, čeká jej sláva nehynoucí a pocit dobře vykonané práce.

Pro začátek, z pohledu Wine: http://wiki.winehq.org/MicrosoftInstaller
Ale zejména: http://msdn.microsoft.com/en-us/library/aa370133(VS.85).aspx
A pro nakouknutí do balíčku: http://www.technipages.com/download-orca-msi-editor.html (w32 aplikace)

Pokud by snad někdo dokázal vytáhnout ProductVersion z MSI balíčku bez pomoci Wine, mohou mu být s klidem přiznány nadpřirozené schopnosti. Sám jsem to zkoušel po rozbalení balíčku pomocí 7z (schválně si to zkuste, obsah vás nejspíše překvapí stejně jako fakt, že to vůbec jde) a manipulací se syrovými daty, ale nebyl jsem zaboha schopný spárovat správně klíč a hodnotu, které jsou napřeskáčku obsaženy v souboru „!_StringData“ a odkazovány ze „!_StringPool“.

Mnoho štěstí dalším odvážlivcům.

Jan Nekvasil

  • Stálý člen
  • **
  • Příspěvků: 620
Prosím o pomoc s testování nové vlastnosti thumbnaileru, základní podpory pro témata vzhledu přispůsobující se aktuálně používanému tématu ikon. Vzhledem k vzrůstající popularitě ikon Faenza jsem zvolil toto téma jako první. Výsledné náhledy vypadají třeba takto.

Instrukce pro ty, kteří chtějí pomoci:

1) Stáhněte si a nainstalujte upravenou verzi thumbnaileru:
Kód: [Vybrat]
wget http://dl.dropbox.com/u/115761/gnome-exe-thumbnailer-faenza.tar.bz2
sudo tar xjvf gnome-exe-thumbnailer-faenza.tar.bz2 -C /
sudo gconf-schemas --register gnome-exe-thumbnailer.schemas

2) Zvolte libovolné téma ikon Faenza v „Systém –> Předvolby –> Vzhled“, nebo, pokud chcete nadále používat jiné téma ikon, vynuťte použití tématu Faenza thumbnailerem pomocí:
Kód: [Vybrat]
gconftool --set /desktop/gnome/thumbnailers/application@x-ms-dos-executable/command --type string "/usr/bin/gnome-exe-thumbnailer.sh %i %o Faenza"
gconftool --set /desktop/gnome/thumbnailers/application@x-msdownload/command --type string "/usr/bin/gnome-exe-thumbnailer.sh %i %o Faenza"

3) Vyčistěte cache náhledů a restartujte Nautilus:
Kód: [Vybrat]
nautilus -q; rm -r ~/.thumbnails; sleep 1; nautilus
4) Testujte testujte testujte. Čím širší vzorek, tím lépe. Nalezené problémy prosím hlašte na https://bugs.launchpad.net/ubuntu/+source/gnome-exe-thumbnailer/+bug/632790 (anglicky) nebo v tomto vlákně. V obou případech pokud možno připojte obrázek problematického thumbnailu a tip kde lze legálně získat zdrojový soubor.

Díky a hezký den všem.


 

Provoz zaštiťuje spolek OpenAlt.