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.
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.
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 .

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 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.
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 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 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 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.
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.
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.
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ą.
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.
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 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 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.

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"?
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".

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.
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 .
| 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
About the author