Linux instalacja i uruchamianie plików .exe: jak działa i jakie są realne metody

ByTomasz Sanecki

Linux instalacja i uruchamianie plików .exe: jak działa i jakie są realne metody

Z pewnymi modyfikacjami, pytanie o to, jak uruchomić plik wykonywalny w Linuksie, jest jednym z najczęściej zadawanych pytań na forach, w mediach społecznościowych i komentarzach na blogach.

Na to pytanie nie ma krótkiej odpowiedzi, ponieważ nie ma jednej metody uruchamiania programów Windows w systemie Linux.

Aby zrozumieć problem uruchomienia pliku wykonywalnego w systemie Linux, musimy wiedzieć, jak działa program komputerowy.

Większość z nas nabyła podstawowe umiejętności niezbędne do wykonywania pracy w domu, szkole lub na uniwersytecie.

Zanim weszliśmy na rynek pracy, potrafiliśmy czytać, pisać, wykonywać podstawowe działania matematyczne i posiadaliśmy wiedzę typową dla naszego zawodu.

Pierwszą konsekwencją byłby wzrost kosztów pracy, ponieważ każdy pracownik potrzebowałby więcej czasu, aby osiągnąć produktywność.

Co więcej, jest prawdopodobne, że każda firma lub sektor rozwinąłby swój własny język i, czemu nie, własną matematykę.

Gdybyśmy chcieli zmienić pracę, proces kształcenia musiałby zostać powtórzony.

To samo dotyczy programów komputerowych.

Czas ich tworzenia jest długi, a koszty wysokie , co oznacza, że wszelkie oszczędności (zarówno czasowe, jak i finansowe) są znaczące.

Chociaż przeglądarka internetowa i edytor tekstu mają różne cele, nadal muszą wyświetlać menu na ekranie, reagować na ruchy myszy i wysyłać dokumenty do drukarki.

Gdyby każdy z nich musiał implementować te funkcje we własnym kodzie, rozmiar każdego programu byłby większy, co wydłużałoby czas programowania, zwiększało koszty i ryzyko błędów.

Biblioteki to programy, które wykonują określone funkcje na żądanie innych programów .

Są instalowane, gdy program ich potrzebuje i gotowe do użycia przez inne programy, które mogą ich potrzebować w przyszłości.

Plik wykonywalny zawiera sekwencję zakodowanych instrukcji, które komputer wykonuje bezpośrednio po kliknięciu ikony pliku.

Pliki wykonywalne zawierają binarny kod maszynowy uzyskany z kompilacji kodu źródłowego.

Dlaczego .exe nie “działa” od razu w Linuksie

Podstawowym problemem do rozwiązania podczas uruchamiania pliku .exe w Linuksie jest to, że każdy system operacyjny ma swój własny sposób komunikacji z bibliotekami i programami zainstalowanymi na nim.

Każdy program po uruchomieniu sprawdza obecność bibliotek niezbędnych do działania.

Jeśli działa w odpowiednim systemie operacyjnym, ale brakuje bibliotek, poprosi o nie podczas instalacji lub poprosi użytkownika o ich ręczną instalację.

Nie chcę być zabawny.

Jeśli potrzebujesz programu Windows do krytycznej potrzeby, która wymaga 100% kompatybilności, powinieneś go zainstalować w systemie Windows.

Większość dystrybucji Linuksa jest zaprojektowana do obsługi tzw. podwójnego rozruchu.

Oznacza to, że po uruchomieniu komputera możesz wybrać system operacyjny, który chcesz uruchomić.

Jedynym punktem, o którym należy pamiętać, jest to, że zawsze najpierw instalujesz system Windows ze wszystkimi dostępnymi aktualizacjami, a następnie wylogowujesz się poprawnie i po prostu przechodzisz do instalacji systemu Linux.

Jeśli nie dokonasz aktualizacji, instalator systemu Linux nie wykryje systemu Windows i nie będzie mógł skonfigurować współdzielonego rozruchu.

Wirtualizacja to proces symulacji sprzętu za pomocą oprogramowania.

Oznacza to, że system operacyjny i zainstalowane programy wierzą, że działają na prawdziwym komputerze.

Pomyśl polega na zainstalowaniu systemu Windows na maszynie wirtualnej, a następnie zainstalowaniu potrzebnych programów .

Jedynym minusem jest to, że nie będziemy w pełni wykorzystywać zasobów sprzętowych, a wydajność może być niższa.

Wybór podejścia: instalacja Windows wirtualnie, dual-boot albo warstwa kompatybilności

VirtualBox: Jest najbardziej znany menedżerów maszyn wirtualnych.

Ma już wstępnie ustalone ustawienia, dzięki czemu wszystkie wersje systemu Windows działają, a jego kreatory ułatwiają tworzenie maszyn wirtualnych.

KVM: Jest to narzędzie do wirtualizacji zintegrowane z jądrem Linux i stworzone przez własnych programistów.

Zapewnia to większe bezpieczeństwo i lepszą integrację z systemem hosta.

Jest zwykle używany z menedżerem maszyn wirtualnych o nazwie QEMU.

Pudełka GNOME: Jest to interfejs graficzny dla różnych technologii wirtualizacji typu open source.

Jest to dobra alternatywa dla VirtualBox, którą mogą rozważyć początkujący użytkownicy korzystający z dystrybucji opartej na komputerach stacjonarnych GNOME.

Dzięki warstwie kompatybilności możliwe jest korzystanie z oprogramowania przeznaczonego dla jednego systemu operacyjnego w innym.

Wine to warstwa kompatybilności, na której zbudowane są wszystkie rozwiązania do instalacji aplikacji Windows na Linuksie.

Jego nazwa nie ma nic wspólnego z Wine; to rekurencyjny akronim od „Wine is not an emulator” (Wine nie jest emulatorem).

To komercyjny produkt oparty na Wine z własnymi dodatkami .

Program składa się z graficznego interfejsu i serii skryptów , które upraszczają konfigurację Wine i instalację programów Windows w systemie Linux.

Bottles to aplikacja, której graficzny interfejs upraszcza instalację Wine i innych plików niezbędnych do działania aplikacji Windows w systemie Linux .

Umożliwia ona zarządzanie wieloma prefiksami Wine.

Prefiks Wine to katalog replikujący hierarchię systemu plików Windows.

Zawiera dysk „C”, na którym można zainstalować oprogramowanie Windows.

Pozwala nam tworzyć dowolną liczbę prefiksów Wine i instalować w nich aplikacje kompatybilne z systemem Windows .

schemat warstwy kompatybilności Wine

“Instalacja” w Linuksie wygląda inaczej niż na Windows

Skąd brać programy na Linuxie?

Repozytoria, sklepy, Flatpak, Snap i AppImage

Instalacja programów na Windowsie polegała zazwyczaj na pobraniu instalatora z rozszerzeniem „.exe”, kliknięciu parę razy „dalej” (oczywiście z uwzględnieniem 30 minut na czytanie wszystkich regulaminów i zasad) i... to właściwie tyle.

Na Linuxie działa to inaczej.

Tutaj programy najczęściej instaluje się z repozytoriów, sklepu z aplikacjami, menedżera pakietów albo formatów takich jak Flatpak, Snap i AppImage.

Repozytoria - podstawowe źródło programów

Repozytoria to katalogi pakietów przygotowane dla konkretnej dystrybucji: Ubuntu, Debiana, Fedory, Linux Mint, openSUSE, Archa czy Manjaro.

System wie, skąd pobrać program, jakie zależności są potrzebne, jak go zaktualizować i jak później usunąć.

W Ubuntu, Debianie i Linux Mint odpowiada za to APT.

Jeśli korzystasz z terminala, komenta, którą należy wpisać to np.:

W Fedorze podobną rolę pełni dnf, w Archu pacman, a w openSUSE zypper.

Dla początkującego najważniejsze nie jest jednak konkretne polecenie, tylko zasada: jeśli program jest w oficjalnym repozytorium twojej dystrybucji, zwykle warto zacząć właśnie od niego.

Taki pakiet jest dopasowany do systemu i aktualizuje się razem z nim.

Sklep z aplikacjami - Linux też ma swoje centrum pobierania

Nie trzeba jednak od razu używać terminala.

Większość popularnych dystrybucji ma graficzny sklep z aplikacjami, taki jak Google Play lub App Store.

To np. Ubuntu App Center, GNOME Software, KDE Discover, Menedżer oprogramowania w Linux Mint albo YaST / Discover w openSUSE.

Wpisujesz nazwę programu i jeśli uda się go znaleźć, klikasz „zainstaluj” i gotowe.

Różnica względem Windowsa polega na tym, że sklep może pokazywać aplikacje z różnych źródeł: repozytorium systemowego, Flathuba, Snapa albo innych włączonych repozytoriów.

Właśnie dlatego przy tej samej aplikacji czasem może wyświetlić Ci się kilka różnych wersji.

Uważaj więc, żeby zostać przy jednej.

Instalując kilka można niepotrzebnie zaśmiecić sobie system.

Flatpak i Flathub - aplikacje dla wielu dystrybucji

Flatpak to jeden z najważniejszych współczesnych sposobów instalowania aplikacji desktopowych na Linuxie.

Idea jest prosta: aplikacja jest spakowana tak, żeby działała na wielu dystrybucjach, a nie tylko na jednej konkretnej wersji Ubuntu, Fedory czy Minta.

Najpopularniejszym katalogiem aplikacji Flatpak jest Flathub.

Znajdziesz tam popularne programy graficzne, komunikatory, odtwarzacze, narzędzia multimedialne i edytory - czasem w wersjach oficjalnie utrzymywanych, czasem pakowanych przez społeczność.

Flatpak ma kilka zalet.

Często zapewni nowsze wersje aplikacji niż repozytorium systemowe, działa podobnie na różnych dystrybucjach i w pewnym stopniu odseparowuje program od reszty systemu.

Nie znaczy to, że jest magiczną gwarancją bezpieczeństwa, ale dla aplikacji desktopowych to bardzo wygodne rozwiązanie.

Na Flathubie warto zwracać uwagę na oznaczenie verified.

Oznacza ono, że zarówno osoby odpowiedzialne za katalog, jak i deweloper potwierdzili, iż aplikacja jest publikowana przez oryginalnego twórcę albo autoryzowaną stronę.

Pamiętajmy jednak, że jest to jednak pełny audyt bezpieczeństwa - nadal warto patrzeć na źródło, uprawnienia i reputację programu.

Snap - szczególnie ważny w Ubuntu

Snap to drugi duży format uniwersalnych paczek.

Jest mocno związany z Canonicalem i Ubuntu, choć działa też na innych dystrybucjach.

W Ubuntu wiele aplikacji instalowanych z graficznego App Center działa pod spodem, właśnie jako pakiety Snap.

Dla użytkownika wygląda to jak zwykła instalacja ze sklepu: klikasz „Zainstaluj”, a system sam zajmuje się pobraniem, instalacją i późniejszymi aktualizacjami.

Snap ma swoje plusy: łatwą instalację, automatyczne aktualizacje, kanały wydań i dostępność na wielu dystrybucjach.

Jak przystało na środowisko Linuksowe, nie wszyscy potraktują to jako atut.

Części użytkowników nie podoba się to, że główny sklep z pakietami Snap jest kontrolowany przez Canonicala, czyli firmę stojącą za Ubuntu.

Inni narzekają na większy rozmiar paczek, wolniejsze uruchamianie niektórych aplikacji albo sposób wymuszania aktualizacji.

AppImage - program jako jeden plik

AppImage działa jeszcze inaczej.

To format, w którym aplikacja jest jednym plikiem.

Pobierasz plik „.AppImage”, nadajesz mu uprawnienia wykonywania i uruchamiasz - bez dodawania repozytorium i bez klasycznej instalacji.

Takie rozwiązanie sprawdza się przy niezależnych narzędziach, edytorach, aplikacjach testowych albo programach, które autor chce udostępnić „dla wszystkich Linuxów naraz”.

Minusy?

AppImage zwykle nie aktualizuje się tak wygodnie jak program z repozytorium, Flatpaka albo Snapa.

Trzeba też szczególnie uważać, skąd pochodzi plik.

Najbezpieczniej pobrać AppImage ze strony autora programu albo oficjalnego repozytorium projektu.

Pliki .deb i .rpm - linuxowe instalatory

Czasem producent programu udostępnia gotowy plik „.deb” albo „.rpm”.

Pliki „.deb” są używane w Debianie, Ubuntu, Linux Mint i pochodnych, a ”.rpm” w Fedorze, openSUSE, RHEL i pochodnych.

To najbliższe temu, co użytkownik Windowsa kojarzy jako instalator pobrany ze strony.

Przykładowo Google Chrome, Discord, Zoom, Steam czy Visual Studio Code mogą być dostępne jako paczki „.deb” lub „.rpm”.

To może być dobre rozwiązanie, jeśli pobierasz pakiet z oficjalnej strony producenta.

Nie powinno być jednak pierwszym wyborem przy każdej aplikacji.

Jeśli program jest w repozytorium, sklepie systemowym albo na Flathubie, zwykle lepiej zacząć właśnie tam.

Dla bardziej zaawansowanych: GitHub, kompilowanie i AUR

W świecie Linuxa często trafisz też na GitHuba.

To tam deweloperzy udostępniają kod źródłowy, wydania, paczki, AppImage albo instrukcje budowania programu.

Jeśli projekt ma gotową sekcję „Releases” i paczki dla twojej dystrybucji, można z nich korzystać.

Jeśli instrukcja zaczyna się od klonowania repozytorium, instalowania zależności i kompilacji, to raczej nie jest najwygodniejsza droga dla początkującego użytkownika Linuksa.

Podobnie jest z AUR-em w Archu, EndeavourOS i Manjaro.

Arch User Repository to ogromny zbiór skryptów tworzonych przez społeczność.

To potężne narzędzie, które wymaga jednak pewnej ostrożności.

Pakiety z AUR są nieoficjalne, więc warto sprawdzać komentarze, popularność, datę aktualizacji i to, skąd dany skrypt pobiera pliki.

Terminal - przydatny, ale nie obowiązkowy

Korzystanie z Termianala na Linuxie często pozwala zaoszczędzić czas.

Zamiast przeklikiwać się przez sklep, wpisujesz jedno polecenie, np.:

albo:

Najważniejsza zasada: nie wklejaj do terminala przypadkowych komend z forum, jeśli nie rozumiesz, co robią.

Szczególną ostrożność warto zachować przy komendach z sudo, curl | sh, wget | bash oraz przy dodawaniu obcych repozytoriów.

sudo uruchamia polecenie z uprawnieniami administratora, więc błędna albo złośliwa komenda może realnie namieszać w systemie.

Konstrukcje typu curl | sh i wget | bash pobierają skrypt z internetu i od razu go uruchamiają, często zanim użytkownik zobaczy, co ten skrypt właściwie robi.

Z kolei dodanie obcego repozytorium oznacza, że system zaczyna ufać nowemu źródłu pakietów i aktualizacji.

Właśnie dlatego takie instrukcje warto wykonywać tylko wtedy, gdy pochodzą z oficjalnej strony projektu albo dobrze rozumiesz, co robią.

Co wybrać: repozytorium, Flatpak, Snap czy AppImage?

Jeśli dopiero zaczynasz swoją przygodę z Linuksem, możemy przyjąć prostą kolejność.

Jeśli aplikacja jest w oficjalnym repozytorium i nie potrzebujesz najnowszej wersji albo specyficznych funkcji - wybierz pakiet systemowy.

To dobre rozwiązanie dla narzędzi systemowych, bibliotek i programów mocno związanych z dystrybucją.

Jeśli chcesz pobrać nowszą wersję aplikacji desktopowej, sprawdź Flatpak na Flathubie.

To często dobry wybór dla komunikatorów, edytorów, programów graficznych i multimedialnych.

Jeśli używasz Ubuntu, a dany program jest dostępny jako Snap, taka wersja też może być dobrym wyborem, szczególnie wtedy, gdy paczka jest oficjalnie utrzymywana.

AppImage może być najprostszym wyborem wtedy, gdy program nie ma wygodnej wersji w repozytorium, Flatpaku ani Snapie albo gdy chcesz uruchomić aplikację bez klasycznej instalacji.

Pamiętaj tylko, żeby pobierać plik z oficjalnego źródła i samodzielnie pilnować aktualizacji.

Jak uruchomić aplikację z Windows na Linuxie, gdy masz tylko .exe

Gdy rezygnujemy z systemu Windows i planujemy przerzucić się na system Linux - może zabraknąć nam kilku aplikacji.

Czasem te aplikacje napisane są tylko i wyłącznie pod Windowsa i ciężko byłoby je stworzyć na Linuxie, czasem na Linuxie mogą nie mieć po prostu sensu, a czasem aplikacja może być po prostu niezbyt popularna i nikt nie miał potrzeby, by ją przepisywać.

Jak w takiej sytuacji sobie poradzić? Co zrobić, by uruchomić aplikację z Windowsa na Linuxie?

Dziś przedstawimy na to kilka sposobów!

Wine - czyli sposób na uruchomienie Windows’owych aplikacji na Linuxie

Wine w dużym uproszeniu pozwala na uruchomienie programów o rozszerzeniu .exe (czyli wszelkiego rodzaju aplikacji) z Windowsa, bezpośrednio na systemie Linux.

Możliwe jest to dzięki przekształceniu WinApi tak by współgrało z graficznym systemem okienkowym.

WinApi to inaczej mówiąc: zbiór funkcji do tworzenia GUI w systemie Windows.

Wine tworzy wirtualną partycję, na której pozwala na uruchamianie plików o rozszerzeniu .exe.

Uruchomiony plik .exe zainstaluje nasz program na wirtualnej partycji.

ulepszenia w zakresie urządzeń wejściowych,powiadomienia dot. urządzeń typu Plug & Play,usprawnienia jądra systemu Windows NT (tj np.

Jak podejść do samego uruchomienia pliku .exe w praktyce

Jak zainstalować Wine? Instalacja programu Wine na Linuxie jest stosunkowo prosta.

Alternatywa dla Wine jest całkiem sporo, są to np.

Oczywiście poza instalacją samego programu, możemy po prostu rozważyć opcję instalacji maszyny wirtualnej z systemem Windows.

Mianowicie, gdy klikam 2 razy na exe, to pojawia się białe okienko, wpisuję hasło roota, szybko migają w tym okienku jakieś wiersze.

Dziwne czemu musiałeś wpisywać hasło roota podczas uruchamiania aplikacji exe.

Może zrób tak, ppm na plik .exe -> właściwości -> uruchamianie i zaznacz wine windows emulator.

Jak to zrobisz to spróbuj ponownie ją włączyć.

Dziwne czemu musiałeś wpisywać hasło roota podczas uruchamiania aplikacji exe.

↳ ... a co to jest za program? Na pewno to poprawy plik exe?

Dodałem dla sprawdzenia jeszcze na pulpit i gdy wprowadzam to pokazuje się to białe okienko z hasłem do roota.

wybór uruchamiania pliku .exe w Wine

Jeśli .exe pyta o hasło roota: co to może oznaczać

Dziwne czemu musiałeś wpisywać hasło roota podczas uruchamiania aplikacji exe.

Może zrób tak, ppm na plik .exe -> właściwości -> uruchamianie i zaznacz wine windows emulator.

↳ ... Czy istnieją pod Debiana jakieś specjalne programy *.exe, które działają bez Wine i innych podobnych programów odpalających programy z Windowsa?

Zainstalowałam sobie taki program Sysinfo i ma rozszerzenie .exe zupełnie jak pod Windows.

Odpala normalnie bez Wine itp programów których (jeszcze) nie mam w systemie.

Plik mozesz nazwac dowolnie, tak jak i nadac rozszerzenie.

Wazne jaki jest naglowek pliku, jesli mozna to tak nazwac.

Dzięki za naprowedzenie co i jak.

Konsola wypluje mase mało zrozumiałych "śmieci".

To tak jakbym sobie otwarła te Sysinfo.exe przez edytor binarny KHexEdit w trybie txt.

Co już wcześniej zrobiłam zanim napisałam na forum aby obejrzeć ten plik "od środka".

Konsola wypluje mase mało zrozumiałych "śmieci".

A tak w ogóle to co to znaczy "MZ" i "PK"?

Uwaga na to, że “.exe” może nie być tym, czym się wydaje

Plik mozesz nazwac dowolnie, tak jak i nadac rozszerzenie.

Wazne jaki jest naglowek pliku, jesli mozna to tak nazwac.

To tak jakbym sobie otwarła te Sysinfo.exe przez edytor binarny KHexEdit w trybie txt.

Konsola wypluje mase mało zrozumiałych "śmieci".

przykład nagłówków pliku: MZ i PK

Alternatywy dla Wine: maszyna wirtualna jako “pełna zgodność”

Oczywiście poza instalacją samego programu, możemy po prostu rozważyć opcję instalacji maszyny wirtualnej z systemem Windows.

Pomyśl polega na zainstalowaniu systemu Windows na maszynie wirtualnej, a następnie zainstalowaniu potrzebnych programów .

Jedynym minusem jest to, że nie będziemy w pełni wykorzystywać zasobów sprzętowych, a wydajność może być niższa.

VirtualBox: Jest najbardziej znany menedżerów maszyn wirtualnych.

KVM: Jest to narzędzie do wirtualizacji zintegrowane z jądrem Linux i stworzone przez własnych programistów.

Jest to dobra alternatywa dla VirtualBox, którą mogą rozważyć początkujący użytkownicy korzystający z dystrybucji opartej na komputerach stacjonarnych GNOME.

Ułatwienie konfiguracji: Bottles i zarządzanie prefiksami Wine

Bottles to aplikacja, której graficzny interfejs upraszcza instalację Wine i innych plików niezbędnych do działania aplikacji Windows w systemie Linux .

Umożliwia ona zarządzanie wieloma prefiksami Wine.

Prefiks Wine to katalog replikujący hierarchię systemu plików Windows.

Zawiera dysk „C”, na którym można zainstalować oprogramowanie Windows.

Pozwala nam tworzyć dowolną liczbę prefiksów Wine i instalować w nich aplikacje kompatybilne z systemem Windows .

Gry aplikacje Windows jak uruchomić na Linux TEST Wine Bottles Proton Lutris czy działa bezpieczne?

Tabela: źródła i formaty instalacji w Linuksie oraz ich sensowność

Metoda / format Do czego pasuje Kluczowa cecha
Repozytoria systemowe (APT/dnf/pacman/zypper) Gdy aplikacja jest w oficjalnych źródłach dystrybucji System wie, skąd pobrać, zależności, aktualizacje i usunięcie
Sklep aplikacji (App Center/GNOME Software/KDE Discover/YaST/Discover) Gdy nie chcesz korzystać z terminala Instalacja klikana; możliwe wersje z różnych źródeł
Flatpak (Flathub) Aplikacje desktopowe na wielu dystrybucjach Pakowanie pod wiele dystrybucji; oznaczenie verified
Snap W szczególności użytkownicy Ubuntu Automatyczne aktualizacje, kanały wydań; kontrola związana z Canonicalem
AppImage Narzędzia niezależne, gdy chcesz uruchomić bez instalacji Jednoplikowy program; wymaga nadania uprawnień wykonywania
.deb / .rpm Pakiety od producenta Deb/Ubuntu/Mint (.deb) oraz Fedora/openSUSE/RHEL (.rpm)
Wine (z pomocą Bottles) Gdy masz plik .exe i chcesz uruchomić go w Linuksie Warstwa kompatybilności, wirtualna partycja i konfiguracja WinApi
Maszyna wirtualna (Windows w VM) Gdy potrzebujesz wysokiej zgodności System operacyjny “wierzy”, że działa na prawdziwym komputerze; mniejsza wydajność

tags: #linux #instalacja #plikow #exe

Popularne posty:

About the author

Tomasz Sanecki administrator

Informatyk z zawodu i zamiłowania. Od 2007r właściciel firmy Perfect Systems. Specjalista do spraw bezpieczeństwa IT, serwisu urządzeń elektronicznych, sieci komputerowych. Prywatnie mąż i ojciec dwójki dzieci. Pasjonat nowoczesnych technologii, motocykli oraz włoskiego espresso.