7 sierpnia 2016

08. Programy windows i aktualizacje

Mimo iż w systemach GNU/Linux nie brak rozmaitego oprogramowania czasem istnieje potrzeba uruchomienia programu, który istnieje tylko w wersji dla systemu Windows. Jednak na ogół nie stanowi to problemu - wystarczy posłużyć się programem Wine.

Wine 


Wine to warstwa ładująca i tłumacząca programy napisane dla systemu Windows tak aby można je było uruchomić i używać w systemach operacyjnych zgodnych z POSIXem czyli również w naszym Debianie. Nazwa Wine to akronim rekurencyjny od ang. Wine is not an emulator (Wine nie jest emulatorem). Oznacza to że uruchomione pod Wine programy Windowsowe zachowują się tak jak w środowisku natywnym, bez strat związanych z wydajnością dodatkowych warstw pośredniczących.

Wine można zainstalować z repozytorium używając np. programu Synaptic:


Na zakończenie instalator zada jeszcze pytanie czy zainstalować również Mono:



Mono to napisana dla systemów GNU/Linux implementacja środowiska uruchomieniowego .NET niezbędnego do wielu programów Windows. Odpowiadamy zatem Tak i to wszystko. Wine gotowe jest do działania.

Jak tego używać Wine? 


Z poziomu konsoli lub linii wywołań możemy używać komendy wine która ma wiele opcji. Np można sprawdzić wersję zainstalowanego oprogramowania wpisując wine winver.


Wyświetli się okno About już przypominające swoim wyglądem Windows. Podobnie dwa przeszczepione żywcem programy:
  • wine notepad - notatnik Windows,
  • wine winemine - gra Saper
Projekt Wine został zainicjowany już w 1993, kiedy miał pomagać w uruchomieniu 16-bitowych programów dla Microsoft Windows 3.x. Stąd obecność w nim takich archaicznych programów:
  • wine progman - menedżer programów,
  • winefile - menadżer plików

Istnieje też nowszy program - przeszczepiony z Windows 95:

  • wine explorer
Wszystkie te aplikacje mają obecnie znikomą użyteczność - pokazałem je jako swoiste ciekawostki.

Natomiast użyteczny jest aplet służący do konfigurowania Wine - winecfg:



Na zakładce Aplikacje można ustalić która wersja Windows ma być "udawana" wobec aplikacji domyślnie i dla wybranych.
Na zakładce Grafika można ustalić pewne elementy związane z wyglądem uruchomionych aplikacji.

W zakładce Integracja z pulpitem w sekcji Katalogi można zdefiniować które standardowe podkatalogi z /home będą się podpowiadać jako standardowe foldery aplikacjom Windows:



Podobnie w zakładce Dyski - tutaj wyświetlać się będzie zawartość drzewa katalogów pocięta na fragmenty oznakowane - zgodnie z zasadami Windows na litery. I tak:
  • C - katalog ../drive_c
  • E, F itd. - katalogi - dysków wymienne (np. Pendrive)
  • Z - katalog root
Warto użyć opcji Automatyczne wykrywanie, która dodaje jeszcze dysk:
  • H - katalog Home użytkownika.
W tym miejscu warto powiedzieć co to jest ten katalog drive_c. Otóż Wine instaluje się standardowo w ukrytym katalogu $HOME/.wine, a tam tworzy podkatalog drive_c. W katalogu tym znajduje się fragment przestrzeni dyskowej udającej oryginalny dysk C systemu Windows z katalogami Windows czy Program Files. Właśnie tutaj powinny się znajdować programy przeznaczone do uruchomienia przez Wine.

Spróbujmy zatem pobrać i uruchomić jakąś aplikację dla Windows np. taki odtwarzacz muzyczny:

http://mpxplay.sourceforge.net/

Pobieramy ze strony plik oznaczony:
Mpxplay-MMC v2.00b (Win32/GUI)
beta 4 portable version

Pobrany program zapisujemy oczywiście w katalogu $HOME/.wine/drive_c/Program Files

Do uruchomienia spod systemu Windows służą pliki z rozszerzeniem exe czyli tutaj mpxp_mmc.exe. Aby uruchomić nasz pobrany program wystarczy podać komendę:
wine mpxp_mmc.exe

Dla łatwiejszego uruchamiania warto przypisać akcję wine jako domyślną dla plików exe. Z menedżera plików Double Commander wybieramy z menu kontekstowego:

Otwórz z | inne... a w wyświetlonym oknie ustalamy parametry wywołania:




Należy wpisać Własne polecenie: wine,
oraz Ustaw wybraną aplikację jako domyślną.

Po skonfigurowaniu dowolny program można uruchomić dwuklikiem. Tak wygląda uruchomiony i działający program mpxplay:



Inne aplety konfiguracyjne Wine

Wine posiada także inne przydatne aplety jak:

  • wine taskmgr - Menedżer zadań,
  • wine regedit - Edytor rejestru.

Menedżer zadań umożliwia podgląd uruchomionych pod kontrolą Wine procesów i ewentualnie "zabicie niepokornego".
Niektóre aplikacje przechowują swoją konfigurację w tzw. Rejestracyjnej bazie danych Windows. Wine emuluje ten również ten aspekt, a dostęp do wpisów rejestru można uzyskać dzięki apletowi Edytor rejestru.

Istotny jest jescze jeden element Wine:

  • wine control - Panel sterowania Wine
 
Z panelu sterowania najistotniejszy jest aplet Dodaj/usuń programy. Wyświetla on okienko z listą zainstalowanych (procedurą instalacyjną) programów pod Wine, można z niego odinstalować lub zmodyfikować instalację programu. Aby zainstalować program należy wybrać przycisk Zainstaluj, a następnie wskazać program instalacyjny exe.

Polecam tutaj przy okazji znakomity program do obróbki grafiki - Irfan View. Należy pobrać instalator ze strony:

http://www.irfanview.com/

Niestety instalacja nie następuje - po wybraniu programu jest zero reakcji.

Aby stwierdzić przyczynę przydaje się jeszcze jedno narzędzie z pakietu Wine - winedbg. Należy wywołać je podając jako parametr nazwę kłopotliwego programu czyli w tym przypadku:
winedbg iview442_setup.exe:



Już wiadomo jaka jest przyczyna - brak biblioteki uruchomieniowej MFC42.DLL.
(proces debugowania w konsoli kończy komenda quit)

Można próbować pobrać tę bibliotekę z internetu i wgrać do katalogu drive_c/Windows, ale jest też elegantsze rozwiązanie - skrypt Winetricks. Skrypt ten (oficjalnie wspierany przez zespół Wine) umożliwia uzupełnianie brakujących bibliotek, ale także modyfikację kluczowych ustawień Wine. Skrypt można pobrać ze strony:

http://www.kegel.com/wine/winetricks

Po zapisaniu należy ustawić go jako wykonywalny i wywołać z terminala polecenie:
winetricks mfc42



Rozpoczyna się proces automatycznej instalacji w którym trzeba tylko potwierdzić licencję dla pobieranej biblioteki. Możemy ponowić instalację uruchamiając bezpośrednio aplet instalacji:
  • wine uninstaller - aplet do instalacji.
(Do instalowania programów z plików msi również przygotowano narzędzie: wine msiexec ). Po zainstalowaniu program pojawi się w na liście w aplecie Dodaj/usuń programy.

Jak widać tym razem instalator uruchamia się bezproblemowo:



By po chwili dobiec końca:


Program instalacyjny utworzył skróty w menu programy oraz na pulpicie dzięki czemu można łatwo uruchomić zainstalowaną już aplikację Irfan View:


Uruchamianie programów wine z parametrami 

A jak wine poradzi sobie z programem MS Paint z oryginalnego Windows? Ten program znam jeszcze z czasów Windows 3.1 - wtedy nazywał się Paintbrush. Po drodze zgubił gdzieś szczotkę, niestety ostatnia wersja, która nadaje się do użytku to ta z Windows XP w kolejnych zmieniono interfejs na taki, który nie nadaje się do użytku. Wystarczy więc pozyskać plik mspaint.exe i uruchomić go z pomocą wine. (program ten do działania potrzebuje również biblioteki MFC42.DLL):


Przy okazji warto omówić kwestię jak wywoływać program poprzez wine tak aby otworzyć od razu w nim plik np. otworzyć plik tapeta.jpg za pomocą mspaint.exe. Można to zrobić na cztery sposoby:
  • wine /home/ibm/.wine/drive_c/Program\ Files/mspaint.exe tapeta.jpg
  • wine "/home/ibm/.wine/drive_c/Program Files/mspaint.exe" tapeta.jpg
  • wine C:\\Program\ Files\\mspaint.exe tapeta.jpg
  • wine "C:\Program Files\mspaint.exe" tapeta.jpg
Aby skonfigurować program w programie Double Commander jako polecenie zewnętrzne należy podać samo wine a resztę jako parametr czyli np.
"C:\Program Files\mspaint.exe" %f


 
Warto wspomnieć jeszcze o jednej przydatnej opcji:

  • wine cmd - linia poleceń windows w oknie terminala.
Tutaj przykład wywołania polecenia dir:


Aktualizacje

System Windows znany jest z upierdliwych aktualizacji. Osobno jednak aktualizuje się sam system a osobno zainstalowane w nim programy.

Jak to wygląda w Debianie?
Tutaj do dyspozycji jest apt, który pozwala aktualizować sam system jak również zainstalowane w nim programy.
 
APT (skrót od ang. Advanced Packaging Tool) – system zarządzania pakietami (plikami .deb) , używany przez system Debian GNU/Linux. APT automatycznie pobiera właściwe pakiety z repozytoriów którymi może być Internet, sieć lokalna lub płyta CD-ROM (lista aktualnie używanych repozytoriów znajduje się w pliku /etc/apt/sources.list oraz w folderze /etc/apt/sources.list.d/).
 
Systemu APT można używać za pośrednictwem nakładek takich jak aptitude czy Synaptic, często używa się aplikacji linii komend apt-get. Posiada ona wiele poleceń np:

  • apt-get update - aktualizuje listę pakietów w repozytoriach,
Praca z wybranymi pakietami:
  • apt-get install - instaluje podane pakiety,
  • apt-get remove - usuwa podane pakiety,
  • apt-get purge - całkowicie usuwa podane pakiety (łącznie z plikami konfiguracyjnymi),
Praca z wieloma pakietami:
  • apt-get upgrade - aktualizuje pakiety,
  • apt-get dist-upgrade - dokonuje pełnej aktualizacji pakietów,
  • apt-get autoremove - usuwa wszystkie nieużywane i zbędne pakiety,
Istnieje jeszcze wiele innych użytecznych poleceń programu apt-get - polecam sprawdzić co robi:
  • apt-get moo
Aktualizacja programu Double Commander 

Poprzednim razem zaprezentowałem jak zainstalować nowszą wersję programu Double Commander niż w oficjalnym repozytorium wersji stable Debiana. Było to pretekstem do zaprezentowania sposobu pracy z pojedynczymi pakietami (nie obyło się przy tym bez drobnych problemów). Znacznie lepszym rozwiązaniem jest uzupełnić listę repozytoriów i skorzystać z APT'a.
 
Oficjalna strona Download programu Double Commander:

https://sourceforge.net/p/doublecmd/wiki/Download/

Z długiej listy obsługiwanych dystrybucji należy wybrać sekcję :
DEB packages (Ubuntu, Debian, Mint etc.)
oraz środowisko graficzne GTK2 (na tej bibliotece oparty jest Gnome)
Link Install from openSUSE Build Service przenosi nas na stronę:

http://software.opensuse.org/download.html?project=home%3AAlexx2000&package=doublecmd-gtk



Należy postępować wg podanych instrukcji czyli:
1. Jako root wywołać z konsoli polecenia:

echo 'deb http://download.opensuse.org/repositories/home:/Alexx2000/Debian_8.0/ /' >> /etc/apt/sources.list.d/doublecmd-gtk.list
apt-get update
apt-get install doublecmd-gtk
Co spowoduje kolejno 
  • dodanie kolejnego internetowego repozytorium do listy repozytoriów APT'a,
  • aktualizację listy pakietów
  • instalację programu double commander
W ostatnich wersjach Debiana dodano opcję silnego szyfrowania do sprawdzania poprawności pobranych pakietów. W tym celu należy posiadać właściwy klucz repozytorium. Taki zaufany klucz dla repozytorium Double Commandera można dodać do APTa wywołując z konsoli:
wget http://download.opensuse.org/repositories/home:Alexx2000/Debian_8.0/Release.key
apt-key add - < Release.key
apt-get update
Po tych operacjach Program Double Commander będzie zaktualizowany i będzie się w przyszłości aktualizował automatycznie.

A jak zaktualizować sam system Debian?

Oczywiście można to zrobić poleceniem apt-get czyli:

  • apt-get update
  • apt-get upgrade
Ale prościej wybrać z menu pozycję: Aktualizacja pakietów.

Jeśli system jest aktualny to wyświetlony zostanie komunikat:



System przypomina też sam o aktualizacjach:


Ten komunikat można jednak zignorować.
Ja dość długo nie aktualizowałem systemu, przez co "przeskoczył" mi przy aktualizacji o dwa numerki do przodu (z 8.2 do 8.5):



Wraz z niwą wersją Debiana nastąpiła też zmiana domyślnej przeglądarki. Dotychczasowy projekt Iceweasel został zarzucony ponownie łącząc się z Firefox:


Następnym razem będzie zatem o obsłudze internetu i sieci LAN.

Brak komentarzy:

Prześlij komentarz