Główne problemy Linuxa na desktopie – edycja 2018

Ten artykuł jest autorstwa Artem S. Tashkinova i zawiera wyczerpującą listę problemów w dystrybucjach Linux, omawiając ich główne problemy oraz braki. Autor twierdzi, że waśnie to może być powodem narzekań ze strony niektórych użytkowników, którzy twierdzą, że dystrybucje Linuxa nie są gotowe do użycia na komputerach typu desktop. Należy jednak zaznaczyć, że istnieją obszary, w których Linux radzi sobie świetnie – posiada doskonałe zarządzanie pakietami w ramach jednej dystrybucji, wspiera od razu wiele platform oraz architektur, cechuje go doskonała stabilność, nie istnieją w nim wirusy i złośliwe oprogramowanie, system jest kompletny i niemal nigdy nie wymaga przeinstalowywania. Linux jest wyjątkowo konfigurowalny, posiada bardzo rozbudowany system skryptów, a dodatkowo jest systemem zupełnie darmowym.

Zaznaczam, że artykuł dotyczy głównie dystrybucji Linuxa (jądro + oprogramowanie), choć wiele wymienionych problemów dotyczy także samego jądra (rdzenia, czyli stricte systemu operacyjnego Linux oraz Android.

Artykuł ten nie służy porównaniu Windowsa z Linuxem, jednak można tutaj czasem znaleźć porównania z systemami Windows lub Mac OS. Choć wiele z wymienionych poniżej problemów ma charakter czysto techniczny, to jednak niektóre z nich uznać można za „polityczne”. To nie są moje słowa – tak twierdzą niektórzy. Na przykład firmy produkujące sprzęt odmawiają wydania specyfikacji własnych urządzeń lub udostępniają niekompletną dokumentację, przez co użytkownicy systemu Linux nie otrzymują wszystkich funkcji, sterowników lub też sterowniki zawierają błędy, których prawie nikt w społeczności Linuxa nie może poprawić.

Chcę też jednoznacznie wyjaśnić jedną z kwestii – sądzę, że pod wieloma względami Windows jest gorszy od Linuksa i ma swój udział w krytycznych problemach. Poza tym chciałbym wymienić następujące problemy w systemach Windows – o problemach możesz przeczytać tutaj.

Pewnie wiele razy słyszałeś, że Android podbija świat i działa na większości smartfonów (smartfony to w istocie mało wyspecjalizowane komputery, choć nie w pełni komputery). Są jednak dwie istotne rzeczy, o których należy pamiętać. Po pierwsze, Android nie jest Linuksem (znasz kogoś, kto ma Androida na swoim komputerze stacjonarnym lub laptopie?). Android zawiera jedynie jądro Linuxa. Co więcej, jest to starsza wersja (3.0.x, 3.4.x lub 3.10.x w woku 2016), wspierana wyłącznie przez Google). Po drugie, Android nie jest systemem operacyjnym dla komputerów. Jest systemem operacyjnym dla telefonów komórkowych, tabletów oraz innych urządzeń z ekranem dotykowym. W tym artykule nie chodzi jednak o Androida, lecz o hordę dystrybucji Linuksa i oprogramowanie Open Source w nich zawarte.

Android to nie Linux!

Twórca Gnome oraz Mono – Miguel de Icaza wypowiadał się w podobny sposób na temat problemów z Linuksem. Oto jego opinia, w której powtarza wiele punktów wymienionych poniżej. W 2012 roku przestał używać Linuksa, mówiąc o swoim Macu: „Z informatycznego punktu widzenia moje trzytygodniowe wakacje okazały się bardzo relaksujące.” Komputer usypiał się i wznawiał pracę bez problemu, bezproblemowo działało Wi-Fi, działał dźwięk. Spędziłem je bez konieczności przekompilowywania jądra, aby dostosować je do sprzętu, nie walczyłem ze sterownikami grafiki, nie musiałem walczyć w dziwnymi spadkami wydajności, którą odczuwałem na moim ThinkPaddzie”. Podkreślał w ten sposób problemy Linuxa. Niedawno twórca systemu Linux – Linus Torvalds wyraził niezadowolenie z obecnego stanu systemu Linux na desktopach.

Programiści Ubuntu postanowili uczynić z tej dystrybucji rentowną platformę do gier. Zidentyfikowali w tym celu obszary, którymi należało się zająć, aby ten cel osiągnąć. Obszary problemów, które zidentyfikowali, pasuje do listy problemów, którą znajdziesz poniżej i to niemal dosłownie. W 2017 r. Ubuntu (podobnie jak większość innych dystrybucji Linux) wciąż borykało się z procesorami graficznymi, HiDPI, Network Managerem i dwoma tuzinami innych problematycznych obszarów. Fedora również włączyła się w rozwój dystrybucji.

Niektórzy programiści Fedory zaproponowali zmiany, by zapewnić stabilne interfejsy API/ABI i uniknąć regresji.

Uwagi

Punkty pogrubione i pochylone zostały częściowo rozwiązane, są mało istotne, wątpliwe, albo też można je w łatwy sposób rozwiązać.

Lista musi zostać zmieniona, bowiem niektóre z wymienionych na niej problemów mają kluczowe znaczenie, zaś niektóre nie. Istnieje spora szansa, że ​​jako użytkownik nigdy nie spotkasz żadnego z wymienionych na niej problemów.

Oto kilka istotnych kwestii, zanim jeszcze zaczniesz czytać niniejszy artykuł

  • Jeśli uważasz, że Linux jest doskonały i nie ma żadnych problemów, nie czytaj dalej.
  • Jeśli uważasz, że zadaniem jakakolwiek krytyki systemu Linux jest bezpodstawnie zmarginalizować ten system, nie czytaj dalej.
  • Jeśli uważasz, że celem tego artykułu jest udowodnienie, że „Linux to system, w którym nic nie działa lub jest on niedostępny”, jesteś w błędzie i nie czytaj dalej.
  • Jeśli uważasz, że użytkownicy Linuxa mogą równie dobrze pracować bez komercyjnego oprogramowania i gier, nie czytaj dalej.
  • Jeśli uważasz, że jestem tutaj, aby promować system Windows lub Mac OS, zamknij tę stronę.
  • Jeśli myślisz, piszę to, by rozpowszechniać kłamstwa na temat Linuxa, natychmiast zamknij tę stronę.
  • Pamiętać, że poniższa lista służy ukazaniu tego, co należy naprawić w Linuxie, a nie znajdowania w nim błędów.

Problemy z Linuxem na komputerach stacjonarnych i główne niedociągnięcia. (Dla tych, co nie lubią czytać długich tekstów, poniżej jest wersja TL; DR). Więc Linux jest do bani, ponieważ …

Obsługa sprzętu

  • Akceleratory wideo/akceleracja (zobacz także sekcję systemu X).
    1. Technologia NVIDIA Optimus oraz dynamiczne przełączanie GPU ATI nie są nadal domyślnie w Linuxsie obsługiwane w większości najważniejszych dystrybucji (Mint od wersji 17.2 obsługuje Optimus, ale dość niezręcznie – przeczytaj sekcję WFM). Obsługa grafiki hybrydowej AMD jest kiepska i bardzo niekompletna.
    • ! Sterowniki typu open source generują czasem bardzo poważne problemy (Intel– !, NVIDIA oraz AMD):
    • ! Sterownik NVIDIA wypuszczony jako open source jest znacznie wolniejszy (do dziesięciu razy) niż jego własny odpowiednik, z powodu tylko częściowego zarządzania energią (jest to przede wszystkim błąd firmy NVIDIA).
    • ! Najnowsze testy pokazują, że sterowniki AMD i NVIDIA udostępnione jako open source mają problemy z obsługą wielu typów kart graficznych.
    • ! Sterownik NVIDIA udostępniony jako open source nie obsługuje w pełni funkcji zarządzania energią oraz prędkością wentylatora.
    • ! Opatentowany sterownik NVIDIA ma paskudny zwyczaj utrzymywania GPU na najwyższym poziomie wydajności, co znacznie zwiększa zużycie energii, co w przypadku użytkowników mobilnych znacząco skraca żywotność baterii. Firma NVIDIA została poinformowana o tym błędzie w lipcu 2017 r., lecz problem nadal występuje.
    • Renderowanie multiGPU (wykorzystujące wiele GPU) dla gier w Linuksie obecnie nie jest możliwe. Sterownik open source firmy NVIDIA Nouveau nie obsługuje OpenCL.
    • Zarówno sterowniki open source, jak i te o zamkniętym kodzie źródłowym, nie zawsze prawidłowo wykrywają lub używają monitorów: w przypadku niektórych ekranów może się pojawić czarny ekran, nieobsługiwane rozdzielczości lub komunikat o braku przepustowości.
    • !! Według słów anonimowego inżyniera firmy NVIDIA „Prawie wszystko w grach jest uszkodzone… W niektórych przypadkach mówimy nawet o rażących naruszeniach zasad API… Co prawda w sterownikach istnieje wiele poprawek, które są włączane i wyłączane – jak w ustawieniach gry, ale istnieją również hacki, które są bardziej specyficzne dla gier… Czy zastanawiałeś się kiedyś, dlaczego w prawie każdej większej wersji gry towarzyszy wydanie sterownika od AMD i lub NVIDIA?”. Społeczność open source jednak nie możliwości zaimplementowania podobnych hacków w celu naprawienia źle napisanej gry, a to oznacza, że ​​przynajmniej w przypadku bardziej złożonych gier jedynymi opcjami pozostają wyłącznie zastrzeżone sterowniki.
  • Niemożliwe jest w prosty sposób po prostu połączyć zamkniętych sterowników NVIDIA/AMD ze sterownikami Open Source, gdyż poprzednie zastępują systemowe biblioteki OpenGL/OpenCL. Pod koniec 2015 roku firma NVIDIA rozpoczęła prace nad wdrożeniem niezależnej biblioteki OpenGL, która może rozwiązać ten problem, lecz prawdopodobnie problem ten zostanie ostatecznie rozwiązany w 2018 roku.
  • ! Opatentowane sterowniki graficzne NVIDIA i AMD są zawodne (awarie, nie obsługują nowych wersji jądra i serwerów X, powodują spowolnienia, przegrzewanie się kart graficznych, charakteryzują się głośną pracą wentylatorów, 100% użyciem procesora, problemami wznawiana po uśpieniu, itp.).
  • Zamknięte sterowniki graficzne NVIDIA/AMD nie obsługują w pełni KMS/VirtualFB i producenci spóźniają się z aktualizacją obsługi nowszych wersji serwerów X.org oraz nowych wydań jądra. Poza tym programiści Linuxa robią wszystko, by poznać zamknięte sterowniki, zmieniając interfejsy API (na przykład każde jądro od 3.8 do 3.14 zawierało zmiany, które powodowały, że sterowniki NVIDIA przestały działać) lub uniemożliwiały używanie API poza GPL.
  • ! Wielu użytkowników doświadcza poważnych problemów podczas oglądania filmów i klipów YouTube (problemy z Adobe Flash). NVIDIA potwierdziła, że ​​problem ten dotyczy układów GPU Kepler i Maxwell i choć rozwiązanie NVIDIA działa, to powoduje obniżenie wydajności) i sterowniki GPU typu open source. Z pozoru jest to funkcja „X.org”.
  • ! Sterowniki Linuksa są zwykle znacznie gorsze (wymagają konfigurowania, ręcznego poprawiania) niż sterowniki systemu Windows/Mac OS w zakresie obsługi niestandardowych rozdzielczości ekranu, bardzo wysokich rozdzielczości wyświetlania (HiDPI) lub niestandardowych częstotliwości odświeżania.
  • ! W systemie Linux konfigurowanie wielu monitorów, szczególnie przy użyciu wielu procesorów graficznych z binarnymi sterownikami NVIDIA może być problematyczne.
  • ! Obsługa zarządzania napięciem GPU prawdopodobniej nigdy nie będzie obsługiwane zarówno dla procesorów graficznych AMD, jak i dla NVIDIA, co oznacza, że ​​nie ma możliwości odpowiedniego podkręcania w celu oszczędzania energii.

Podsystem dźwięku

  • Pulse Audio nie nadaje się do pracy w trybie multiuser – wiele osób udostępnia swoje komputery (pewne rozwiązanie można znaleźć tutaj).
    • ! Brak dobrego usuwania echa (jeśli używasz zwykłego mikrofonu i głośników, często nie będziesz w stanie normalnie korzystać ze Skype oraz innych usług VoIP). Windows, Android i MacOS mają ten mechanizm zaimplementowany w systemie. Na to jest rozwiązanie – mam nadzieję, że będzie ono jednak domyślnie włączone w przyszłości lub będzie łatwiejszy sposób na skorzystanie z niego.
    • ALSA (główny sterownik dźwięku systemach Linux) to ciągły ból zarówno dla programistów, jak i dla użytkowników. W 2017 roku Mozilla w milczeniu zamieniła ALSA na PulseAudio w Firefoksie, co przełożyło się na ogromną ilość błędów, ponieważ okazało się, że PulseAudio u wielu osób po prostu nie działa.
    • Brak dobrego systemu dźwiękowego, który programowo miksuje dźwięk (jest to zaimplementowane we wszystkich współczesnych systemach operacyjnych za wyjątkiem systemu Linux). Niestety, wiele starych aplikacji wciąż otwiera wyjście audio na wyłączność, powodując poważne problemy użytkowników.
    • Nic w tym złego, że profesjonaliści od dźwięku także chcą korzystać z Linuksa, jednakże obsługa dźwięku w wysokiej rozdzielczości (> = 96KHz,> = 24 bity) jest często niedostępna. (Adobe Flash w tym przypadku nie działa, stare aplikacje dla systemu Linux nie działają lub uszkadzają dźwięk).
    • Brak regulacji głośności dla urządzeń HDMI podłączonych do procesorów graficznych NVIDIA (niezależnie od hacków SoftSol stosowanych dla ALSA).

Drukarki, skanery i inne urządzenia peryferyjne

  • ! Wciąż wiele drukarek jest nieobsługiwanych lub są ledwo obsługiwane (m. in. Lexmark i Canon) – niektórzy twierdzą, że użytkownik powinien sprawdzić przed zakupem sprzętu kompatybilność z Linuxem. Co jednak, gdy użytkownik zdecyduje się przejść z systemu Windows na system Linux i posiada już taki sprzęt? Gdy ktoś kupuje komputer z systemem Windows, czy bada kompatybilność? Nie, bowiem słusznie zakłada, że wszystko będzie działać po uruchomieniu.
  • Wiele funkcji w drukarkach jest dostępne jedynie w sterownikach dla systemu Windows.
  • ! Niektóre modele skanerów i kamer internetowych nie są obsługiwane (brakuje wielu funkcji znanych z systemów Windows).
  • Niekompletne lub niestabilne sterowniki dla niektórych urządzeń. Problemy z konfiguracją niektórych urządzeń (karty dźwiękowe, touchpady w najnowszych laptopach, kamery internetowe, karty Wi-Fi, na przykład karty 802.11ac oraz USB Wi-Fi są słabo obsługiwane pod Linuxem, zaś w wielu przypadkach są bezużyteczne). Wiele osób alarmuje, że ​​karty sieciowe Broadcom i Realtek są albo ledwo obsługiwane, albo nie nadają się do użytku.

Laptopy, tablety, urządzenia typu 2w1, itp.

  • Niekompletne lub brak wsparcia dla niektórych funkcji oszczędzania energii w nowoczesnych laptopach (np. PCIe ASPM, brak akceleracji wideo, oszczędzania energii, itp.). W konsekwencji w Linuxie nie uzyskasz takiej samej żywotności baterii, jak w Windows lub MacOS, a dodatkowo twój laptop będzie się mocniej grzał. Zobacz Advanced Power Management dla systemu Linux. Dopisek z dnia 19 lipca 2018: Jeśli używasz obsługiwanego sprzętu w systemie Fedora 28 i Linuxem 4.17 oraz nowszym, zarządzanie energią działa doskonale, lecz oglądanie filmów już nie (zarówno w trybie online, jak i offline sprzętowe dekodowanie w Linuxie wciąż jest problematyczne).
  • !! Często nie można używać Linuxa na nowych urządzeniach przenośnych, gdyż brakuje wsparcia dla niektórych funkcji lub jest ono wprowadzane zbyt późno.
  • Laptopy wyposażone są w przyciski funkcyjne, które nie działają (np. kombinacja klawiszy Fn + F1-F12).
  • Wznawianie pracy komputera w systemie Linux jest często niestabilne albo nie działa wcale.
  • ! Ogromna liczba różnych wersji jądra Linuxa powoduje fragmentację, że przy każdym nowym wydaniu część sprzętu może po prostu przestać działać. Osobiście zgłosiłem dwie poważne problemy w odtwarzaniu dźwięku, które zostały rozwiązane, jednak większość użytkowników nie wie, jak zgłaszać błędy.

Obsługa oprogramowania

  • System X (serwer obrazu w systemie Linux):
    • X.org jest w dużej mierze przestarzały, nieodpowiedni, a nawet niezabezpieczony dla nowoczesnych komputerów i aplikacji.
    • Brakuje wysokiego poziomu, stabilnego, rozsądnego (i prawdziwie kompatybilnego) standardu w interfejsie API, służącego do tworzenia aplikacji GUI (takiego jak Win32 API – większość aplikacji Windows 95, który wciąż działa dobrze w Windows 10 – to 20 lat kompatybilności wstecznej). Zarówno GTK, jak i Qt (niekompatybilne wersje GTK 1, 2, 3, 4 oraz niekompatybilne wersje Qt 2, 3, 4, 5 z ostatniej dekady). Te biblioteki nawet nie starają się być wstecznie kompatybilne.
    • ! Skróty klawiszowe w przypadku różnych układów klawiatury działają nieprawidłowo (błąd ten ma już 13 (!) lat).
    • ! X.org nie przełącza automatycznie rozdzielczości pulpitu gdy aplikacja pracuje na pełnym ekranie z niestandardową rozdzielczością – co dziwne, niektórzy programiści Linuxa nie popierają idei wykorzystywania Linuxa do gier. Dlatego też nikt nie jest zainteresowany Linuxem jako platformą do gier, stąd ten problem jest dyskusyjny. Valve wypuściło Steam na platformę Linux i przenoszą swoje gry na system Linux – ale to dopiero początki.
    • ! X.org nie przywraca ustawień gamma (można to postrzegać jako zwiększoną jasność) po opuszczeniu aplikacji. Jeśli grasz w gry Valve/Wine i doświadczysz takiego problemu, uruchom polecenie xgamma -1 w terminalu.
    • ! Przewijanie w niektórych aplikacjach powoduje powstawanie artefaktów.
    • ! X.org daje aplikacjom możliwość obsługi na wyłączność danych z klawiatury oraz myszy. W konsekwencji, jeśli aplikacja źle się zachowuje, nie możesz zarządzać systemem nawet przełączać się na terminal tekstowy.
    • ! Obsługa klawiatury w X.org jest mechanizmem złym, bowiem gdy masz wyskakujące okienko lub otwarte menu, nie działają globalne skróty klawiaturowe w (GTK) a działają w (QT).
    • Zostało to poprawione w Qt5 – mam nadzieję, że większość aplikacji Qt4 zostanie przeniesiona na Qt5. Innym problemem z obsługą klawiatury jest to, że w wielu przypadkach skróty nie działają (Qt4), gdy masz układ klawiatury inny niż wersja amerykańska.
    • ! Obsługa klawiatury jest niekompletna w przypadku maszyn wirtualnych, zaś obsługa klawiszy w wirtualizowanym systemie operacyjnym jest nieprawidłowa.
    • ! Architektura X.org jest słabo niezabezpieczona – gdy uruchamiasz aplikację pracującą w trybie graficznym GUI jako inny użytkownik w sesji pulpitu, np. przy użyciu sudo i xhost, „obca” aplikacja może przechwycić dane wejściowe, a także zrobić zrzuty ekranu.
    • Adobe Flash Player ma problemy w Linuxie (brak akceleracji, awarie i 100% obciążeniu procesora, nawet w mocniejszych systemach). W 2012 roku Adobe ogłosił, że odtwarzacz Adobe Flash nie będzie już obsługiwany w przeglądarkach innych niż Google Chrome. Dopisek z roku 2016: ten problem nie został rozwiązany, ale Adobe Flash Player przestaje być potrzebny.
    • ! Serwer X.org nie dysponuje mechanizmem zapisywania i przywracania ustawień zmienionych przez użytkownika (ustawienia xrender, ustawienia Xv itp.). Sterowniki NVIDIA i ATI muszą w tym celu korzystać z niestandardowych narzędzi.
    • !! X.org nie obsługuje tear-free experience. Jest dostępny tylko wówczas, gdy uruchamiasz menedżera okien w trybie OpenGL z włączoną vsync-to-blank.
    • !! X.org nie jest wielowątkowy, co oznacza, że niektóre aplikacje korzystające intensywnie z operacji graficznych mogą z łatwością zamrozić pulpit (prosty, łatwy do odtworzenia przykład: uruchom Adobe Photoshop 7.0 pod Wine, otwórz wystarczająco duży obraz i zastosuj wyrafinowany filtr. Zobaczysz, jak sesja padnie do czasu, gdy Photoshop zakończy operację).
    • ! Nie ma możliwości skonfigurowania przewijania myszy pod X.org, zaś niektóre myszki działają nieprawidłowo.
    • Brak jest możliwości zastąpienia/uaktualnienia/obniżenia wersji sterowników graficznych X.org podczas pracy (zachowując sesję użytkownika oraz uruchomione aplikacje).
    • Brak trybu awaryjnego dla serwera X.org (jak dla KMS – przeczytasz poniżej). Błąd konfiguracji czy uszkodzone sterowniki mogą spowodować, że system przestanie funkcjonować. Dodatkowo czasem wówczas nie można uzyskać dostępu do konsoli tekstowej w celu naprawy (w 2013 r. prawie nie było problemu, ponieważ dość często X.org już nie napędza GPU – jądro robi to za pośrednictwem KMS).
    • Dodawanie niestandardowych rozdzielczości/odświeżania w Linuksie jest poważnym wyzwaniem.
    • X.org jest totalnie do niczego. Nie działają stare aplikacje uruchamiane na wyświetlaczach kaflowych, np. nowoczesne monitory 4K (Dell UP3214Q, Dell UP2414Q, ASUS PQ321QE, Seiko TV i innych). Jest to więc architektoniczne ograniczenie.
    • !! Obsługa HiDPI praktycznie nie istnieje. Pod koniec 2016 roku Ubuntu oraz System76 ogłosiły współpracę w celu rozwiązania tego problemu.
    • ! Szybkie przełączanie użytkowników (ale także jednoczesne sesje użytkowników) w X.org działa źle i jest zaimplementowane jako hack: dla każdego użytkownika uruchamia się nowy serwer X.org. Można zatem zalogować się dwa razy pod tym samym kontem, nie będąc w stanie uruchomić niektórych aplikacji z powodu błędów współbieżności w korzystaniu z tych samych plików. Szybkie przełączanie użytkowników najlepiej działa w KDE oraz w Gnome.
  • Powiązane problemy
  • 1) Jednocześnie zalogowani użytkownicy nie mogą uzyskać dostępu do tego samego dysku flash USB.
  • 2) Istnieją raporty, że występują problemy z konfiguracją poziomów głośności miksera audio.

Wayland

  • !! Rasteryzacja pikseli w Wayland obarczona jest dwoma poważnymi problemami, które nigdy nie zostaną rozwiązane:
    Po pierwsze zapomnij o wydajnym połączeniu RDP (jest już zaimplementowany, ale działa poprzez wysyłanie aktualizacji dużych fragmentów ekranu, tj. podobnie jak stary i nieefektywny VNC), zapomnij o pass-through w OpenGL, zapomnij o surowej kompresji pass-through wideo. Natomiast wszystkie te funkcje działają w RDP z firmy Microsoft.

Po drugie, zapomnij o prawidłowej zmianie rotacji/skalowaniu/zmianie.

  • !! Aplikacje (GUI toolkit) muszą implementować własne wygładzanie czcionek, bowiem nie ma do tego interfejsu API, który służyłby do renderowania czcionek w systemie. Co??! Większość normalnych i zaawansowanych systemów okienkowych działa dokładnie w ten sposób – Windows, Android, Mac OS X. W Wayland wszystkie aplikacje są całkowicie niezależne.
  • !! Aplikacje (GUI toolkit) muszą implementować własne skalowanie DPI.
  • Powyższe problemy wynikają głównie z braku jednego ujednoliconego API (a deweloperzy Wayland nie chcą tego wdrażać). Nikt obecnie nie pracuje nad tym, by istniejące narzędzia miały wspólną konfigurację do ustawień wygładzania czcionek, skalowania DPI i shadowingu. Teoretycznie w prosty sposób można by rozwiązać tego typy problemy, jednakże w praktyce mamy już trzy niezależne zestawy narzędzi dla Waylanda: GTK3/Qt5/Enlightenment.
  • !! Dotyczy także X serwera/protokołu: ani X.org, ani Wayland nie oferują sposobu na rozszerzenie/modyfikację pasków tytułu okna i okien dialogowych Otwórz/Zapisz. A jest to funkcja bardzo ważna, przydatna w wielu sytuacjach. Ponownie wynika to z faktu, że nie ma zunifikowanego zestawu narzędzi ani zunifikowanego menedżera okien (lub protokołu).
  • Odświeżanie XWayland jest zablokowane do 60 Hz – a to poważny problem, ponieważ większość gier dla Linuksa używa protokołu X11.

Renderowanie czcionek (za pośrednictwem bibliotek GUI wysokiego poziomu)

  • SPRAWDŹ TO: ! Antyaliasing czcionek w kolorze białym lub jasnym na ciemnym tle (bez nieskończonych łatek, które domyślnie nie są dołączane przez żadną dystrybucję) jest tragiczny.
  • SPRAWDŹ TO: ! Czcionki ClearType nie są domyślnie obsługiwane poprawnie (do testu skompilowałem FreeType 2.4.11 z technologią ClearType i wyniki były fatalne). Mimo że technologia renderowania czcionek ClearType jest obsługiwana, nie ma możliwości jej prawidłowego skonfigurowania.
  • Dość często domyślne czcionki wyglądają brzydko ze względu na domyślne ustawienia czcionek.
  • Czcionki internetowe pod Linuksem często wyglądają okropnie w starszych dystrybucjach.
  • Antyaliasing czcionek jest trudna w implementacji, gdy nie używa się bibliotek GTK/Qt (Opera przez rok próbowała wygładzić czcionki, zanim się to udało).
  • Domyślnie większość dystrybucji nie dostarcza dobrych lub nawet kompatybilnych czcionek Windows.
  • Ustawienia antyaliasingu czcionek nie mogą być stosowane w trakcie pracy.
  • Domyślnie większość dystrybucji wyłącza dobre wygładzanie czcionek ze względu na prawo patentowe – zostało to gorzej lub lepiej rozwiązane w 2012 r. (Jednak nawet w 2016 r. wciąż istnieje wiele dystrybucji, które zapominają lub odmawiają włączenia SPR w freetype2).

Jądro Linuxa

  • ! Jądro wciąż nie może pozbyć się problemów z obrazem, dźwiękiem oraz sterownikami sieciowymi (bardzo mi przykro z powodu porównania z Windows Vista/ 7/8, gdzie funkcja ta jest zaimplementowana i w wielu przypadkach działa świetnie).
  • KMS pobierając dane wyjściowe wideo, blokuje tryby graficzne VESA (dlatego niemożliwe jest przełączanie różnych wersji sterowników graficznych w locie).
  • Sterowniki KMS nie mogą być odłączone lub przeładowane.
  • !! KMS nie posiada bezpiecznego trybu: czasem KMS nie może poprawnie zainicjalizować ekranu i w efekcie system będzie martwy i nie będzie można uzyskac do niego dostępu (może cię uratować wówczas opcja jądra „nomodeset”, ale uniemożliwi ona działanie sterowników KMS – więc albo masz konsolę tekstową 80×25 albo całkowicie martwy ekran).
  • Systemy plików Linux/Unix (ext4/reiser/xfs/jfs/btrfs/etc.) Mogą być problematyczne, gdy są używane na pamięci masowej.
  • Deskryptory plików oraz gniazda sieciowe nie mogą być zamykane na siłę. Nie jest zatem możliwe bezpieczne odłączanie pamięci USB bez uprzedniego odmontowania, ponieważ może to prowadzić to do nieaktualnych punktów montowania, a w konsekwencji do błędów i awarii. Z tego samego powodu nie można także modyfikować tablicy partycji czy zmieniać rozmiaru czy przenosić w locie głównej partycji.
  • W większości przypadków poważne awarie jądra (= kernel panic) są niewidoczne podczas sesji X. Ponadto system KMS zapobiega przełączaniu się jądra na zwykły tryb VGA 640×480 lub 80×25 (tekstowy), by wyświetlić komunikaty o błędach.
  • Słabe wsparcie do obsługi czujników sprzętowych, na przykład hwinfo32/64 wykrywa i pokazuje dziesięć źródeł sensorów sprzętowych na moim komputerze stacjonarnym i ponad pięćdziesięciu czujnikach, podczas gdy czujniki lm wykrywają i prezentują tylko cztery źródła i dwadzieścia czujników. Ta sytuacja jest jeszcze gorsza w przypadku laptopów – czasami jedyne odczyty uzyskane z sensorów lm, to temperatury rdzeni procesora.
  • !! Duża liczba (czasem nawet sto) bardzo poważnych zmian i rozbieżności w każdym wydaniu jądra z powodu braku QC/QA. Nawet „stabilne” aktualizacje jądra x.y. z czasem mają poważne rozbiezności.
  • !! Jądro Linuksa jest niezwykle trudne i kłopotliwe w debugowaniu nawet dla osób go rozwijaących.
  • W pewnych okolicznościach system lub GUI X.org może spowolnić działanie i nie odpowiadać z powodu problemów z akceleracją obrazu lub jego brakiem, a także z powodu znanego błędu 12309 – jest to pozornie naprawione, ale niektórzy wciąż go doświadczają). Błąd ten można łatwo odtworzyć w Androidzie (który korzysta z jądra systemu Linux) nawet w 2016 r: wystarczy intensywnie uruchamiać aplikacje wykorzystujące dyski (np. w Androidzie „cat /dev/zero>/sdcard/testfile”) i uzyskać całkowite zablokowanie interfejsu użytkownika.
  • !! Krytyczne zgłoszenia błędów jądra systemu Linux często nie są zauważane przez developerów i mogą pozostać niezałatane przez wiele lat, zanim zostaną zauważone i rozwiązane. Wpisy do LKML często gubią się, jeśli dany programista nie jest uważny lub zajęty.
  • Jądro Linuksa zawiera sporo kodu o bardzo niskiej jakości, co w połączeniu z niestabilnymi API sprawia, że ​​rozwój Linuksa jest procesem bardzo trudnym i podatnym na błędy.

Problemy wynikające z dużej liczby dystrybucji Linuksa

  • ! Brak ujednoliconego systemu konfiguracji ustawień systemu, urządzeń i usług systemowych. Na przykład dystrybucja A konfiguruje sieć systemu za pomocą własnych narzędzi i wyprowadzać określone ustawienia w lokalizacji plików, zaś dystrybucja B może zapisywać ustawienia zupełnie inaczej. To doprowadza większość użytkowników do szaleństwa.
  • ! Brak ujednoliconego instalatora/menedżera pakietów/uniwersalnego formatu pakowania/śledzenia zależności we wszystkich dystrybucjach (projekt GNU Guix, którego celem jest rozwiązanie tego problemu, jest obecnie w fazie rozwoju – ale obecnie nie wiadomo, czy zostanie on zaimplementowany przez główne dystrybucje). Rozważmy pakiety RPM (który ma kilka niekompatybilnych wersji, tak!), deb, portage, tar.gz, źródła, inne. To zwiększa koszty tworzenia oprogramowania.
  • ! Repozytoria dystrybucji nie zawierają całego dostępnego oprogramowania open source (konflikty bibliotek nie dopuszczają do takiego luksusu). Użytkownik nigdy nie powinien mieć kłopotów z używaniem ./configure && make && make install (poza tym jest to niebezpieczne, bo może wszystko poważnie zepsuć, a czasami po prostu nie działa, ponieważ użytkownik nie potrafi poprawnie zainstalować/skonfigurować zależności). A instalowanie dowolnego oprogramowania powinno być możliwe poprzez pobranie pakietu i dwukrotne kliknięcie (tak jak w Windows, ale monitowanie o hasło użytkownika/administratora).
  • ! Rozwój aplikacji jest problematyczny, bowiem różne dystrybucje mogą wykorzystywać: a) różne wersje bibliotek, b) różne flagi kompilatora, c) różne kompilatory. Prowadzi to do multiplikacji problemów. Nie jest w tym przypadku dobrym rozwiązaniem pakowanie wszystkich bibliotek zależnych, bowiem w takim przypadku aplikacja może zależeć od starszych wersji bibliotek, które zawierają podatności.
  • ! Dwa najbardziej popularne menadżery okien, czyli KDE i Gnome, wykorzystuje własne ustawienia, dzięki czemu każda z dystrybucji tworzy swój własny ekosystem (aplikacje/narzędzia) do konfiguracji zapory/sieci/użytkowników oraz grup/usług/etc .
  • Linux jest piekłem dla personelu wsparcia ISP/ISV. W ramach organizacji można przypisać każdej osobie pojedynczą dystrybucję, ale nie można tego zrealizować, gdy klienci mają tak dużą swobodę wyboru.
  • ! W Linuxie powinna być dostępna pełna konfiguracja za pomocą GUI (w końcu Windows i Mac OS tak mają), a to nadal nie jest możliwe w niektórych przypadku.
  • Brak powszechnie przestrzeganych konwencji skrótów oraz wyglądu prowadzą do tego, że różne aplikacje mogą mieć zupełnie różne skróty do tych samych działań czy elementy interfejsu użytkownika mogą być różnie umieszczone i wyglądać zupełnie inaczej.

Problemy wynikające z niskiej popularności Linuksa i natury open source

  • ! Niewiele programów, brak możliwości uruchomienia znanego oprogramowania z Windows (niektóre aplikacje nie działają w Wine – przypomnij sobie o zbyt dużej fragmentacji Linuxa. Niektóre programu nie mają odpowiedników w Linuxie).
  • ! Brak porządnych prawdziwie ważnych odpowiedników oprogramowania z Windows, takich jak ArchiCAD/3ds Max/Adobe Premiere/Adobe Photoshop/Corel Draw/DVD/etc. Użytkownicy domowi i korporacyjni nawet nie zadają sobie trudu instalacji Linuxa, dopóki nie będą w stanie wykonać w tym systemie swojej pracy.
  • ! Niewielka liczba gier i niewiele ważnych gier w ciągu ostatnich sześciu lat. Całkowita liczba dostępnych gier linuksowych to mniej niż 10% gier dla systemu Windows. Steam zaś pokazuje lepszy wynik: 25% gier posiada już porty na system Linux (w styczniu 2018 r: tytuły Windows 39892 a Linux 9442), lecz 98-99% z nich to Indie; Topowe tytuły, szczególnie te najnowsze, są jednak rzadkością w Linuxie. Wine jest niestabilne, podatne na zbyt dużą fragmentację systemu i nie posiada przyzwoitej obsługi D3D 10/11/12 (znacznie poprawiono to w 2018 r.).
  • Wątpliwość co do patentów oraz legalności. Użytkownicy systemu Linux w USA nie mogą odtwarzać wielu popularnych formatów audio i wideo, dopóki nie zakupią odpowiednich kodeków.

Ogólne problemy z systemem Linux

  • !! Brak spójnej koncepcji dotyczącej sterowników poza własnymi sterownikami układów GPU NVIDIA/AMD, które są osobnymi pakietami: prawie wszystkie sterowniki są w jądrze lub w różnych pakietach (jak foomatic/sane/etc). Użytkownik nie jest w stanie zrozumieć, czy jego sprzęt jest rzeczywiście obsługiwany przez daną dystrybucję Linuxa, czy wszystkie wymagane sterowniki są faktycznie zainstalowane oraz czy działają poprawnie (np. wszystkie pliki oprogramowania układowego są dostępne i załadowane).
  • !! Nie ma żadnej gwarancji, że system zostanie poprawnie uruchomiony po aktualizacji bootloadera GRUB, gdyż czasem nawet drobne aktualizacje jądra przerywają proces uruchamiania (z wyjątkiem systemu Windows 10 – ale jest to nowy paradygmat dla Microsoft). Na przykład Microsoft i Apple regularnie aktualizują odpowiednio ntoskrnl.exe i mach_kernel dla poprawek bezpieczeństwa, ale nie słychać, by ​te aktualizacje naraziły na szwank proces uruchamiania. Aktualizacje GRUB przerwały zaś mi proces uruchamiania co najmniej dziesięć razy. (Zobacz także poniżej: problemy ze zgodnością).
  • !! Dystrybucje LTS nie nadają się do użytku, ponieważ nie obsługują lub słabo obsługują nowy sprzęt, a w szczególności procesory graficzne (jak również karty sieciowe, dźwiękowe, czujniki sprzętowe, itp.). Często nie można używać nowego oprogramowania w dystrybucji LTS (bez różnych hacków, takich jak backport, PPA, chroots itp.) z powodu nieaktualnych bibliotek. Niedawnym przykładem jest Google Chrome na RHEL 6/CentOS 6.
  • !! Deweloperzy Linux mają tendencję do a) przemilczania informacji o dziurach bezpieczeństwa b) nie informowania opinii publicznej o usunięciu wspomnianych dziur, c) nieprawidłowej kategoryzacji błędów wykonania kodu jako „możliwej odmowy usługi” (dzięki Gullible Jones za przypomnienie mi o tej praktyce – chciałem o tym wspomnieć przed laty, ale ciągle o tym zapominałem).
  • Oto cytat samego Torvaldsa: „Tak więc osobiście uważam, że błędy bezpieczeństwa są po prostu zwykłymi błędami. Nie ukrywam ich, ale też nie zmam powodu, bym myślał, że dobrym pomysłem jest to, by je wyśledzić i ogłaszać jako coś specjalnego.”

Rok 2014 był trudny dla Linuxa – w szczególności jeśli chodzi o jego bezpieczeństwo: błędy krytyczne, zostały wykryte luki w wielu podstawowych projektach Open Source, takich jak bash (shellshock), OpenSSL (heartbleed), jądro oraz inne. Na początku 2015 r. Znaleziono też nową krytyczną lukę o nazwie GHOST.

Rok 2015 przywitał nas kolejnymi 134 dziurami w jednym pakiecie: WebKitGTK + WSA-2015-0002. Nie sugeruję, że Linux jest gorszy od zastrzeżonego/zamkniętego oprogramowania Windows/MacOS – mówię tylko, że powtarzana jak mantra śpiewka o tym, że open source jest bezpieczny z definicji, bowiem każdy może przejrzeć kod jest najwyraźniej całkowicie błędna.

Rok 2016 również ukazał wiele luk w jądrze Linuksa, a także inne niezliczone krytyczne luki. W 2016 roku Linux okazał się znacznie bardziej niebezpieczny niż często – choć to wydaje się śmieszne – w systemie Microsoft Windows.

Jądro Linuksa konsekwentnie pozostaje jednym z najbardziej wrażliwych kodów na świecie. W 2017 roku wykryto w jądrze Linuxa 453 luki, w porównaniu tylko 268 luk w całym systemie Windows 10. Nic dziwnego, że Google zamierza zastąpić Linuksa własnym kernelem.

Wielu programistów Linuksa jest zaniepokojonych stanem bezpieczeństwa Linuxa, ponieważ go po prostu brakuje.

Wygląda zatem na to, że serwery oparte na systemach Linux mogą być o mniej bezpieczne niż… serwery oparte na systemach Windows. „Większość webmasterów i administratorów systemu musi ręcznie aktualizować swoje oprogramowanie i testować, czy ich infrastruktura działa poprawnie”.

Wiem, że istnieje wielu wyjątkowo utalentowanych ludzi, którzy myślą, że jestem idiotą, żeby o tym pisać. Pozwól mi wyjaśnić tę kwestię: podczas gdy w Windows aktualizacje zabezpieczeń są obowiązkowe i przy tym zwykle instalowane automatycznie, Linux jest zwykle administrowany przez SSH i nie daje żadnych oznak jakichkolwiek aktualizacji. W systemie Windows większość aplikacji serwerowych można bezproblemowo aktualizować bez przerywania konfiguracji usług. W Linuksie zaś, w wielu przypadkach nowe wersje oprogramowania wymagają ręcznej rekonfiguracji (oto kilka przykładów: ngnix, apache, exim, postfix). Powyższe dwie przyczyny prowadzą do sytuacji, w której setki tysięcy instalacji Linuxa nigdy nie otrzymuje aktualizacji, ponieważ ich administratorzy nie aktualizują niczego, bowiem obawiają się, że coś się po takiej aktualizacji zepsuje.

Raport firmy Kaspersky z sierpnia 2016 r. potwierdził moją tezę: w pierwszych siedmiu miesiącach 2016 r. Liczba zainfekowanych serwerów linuksowych wzrosła o 70%.

Począwszy od wersji 16.04 LTS, Ubuntu automatycznie instaluje poprawki zabezpieczeń, z wyjątkiem jądra systemu Linux, które wymagają ponownego uruchomienia (można to również wyeliminować, ale jest to trudne). Mam nadzieję, że pojawią też się inne dystrybucje, które będą tak czynić. Choć Ubuntu zasługuje na pochwałę, nadal dystrybuują pobrane obrazy ISO za pośrednictwem protokołu HTTP – a jest to poważne zagrożenie bezpieczeństwa, ponieważ większość użytkowników nie weryfikuje swoich obrazów ISO za pomocą GPG.

!! Nowy system init w Linuxie ma całkowicie zepsuty: systemd. Może i działa, ale występują segfault, crash i freeze.

Zmiana: systemd stał się bardziej stabilny i niezawodny, jednak nie zmienia to faktu, że demon init powinien być zaprojektowany w następujący sposób 1) nigdy nie powinien opuszczać systemu jako proces niezidentyfikowany 2) powinien być w łatwy sposób aktualizowany 3 ) nigdy nie powinien się zawieszać. Niestety, w systemd występują wszystkie te problemy. Uważam, że demon init powinien uruchamiać się zawsze, gdy tylko jest to możliwe, jednak w praktyce przestaje się uruchamiać po napotkaniu nawet drobnych problemów z fstab.

Około 2015 r. Zaproponowano proste rozwiązanie: procesu o id 1 (init) ma być prostym demonem, który będzie odzyskiwał wszystkie podsystemy zależne i procesy systemowe – zatem system może odzyskać dane po pewnych błędach systemowych. Jednak nikt tak naprawdę nie chce wdrożyć tego rozwiązania. Zamiast tego systemd staje się coraz większy, bardziej skomplikowany, a tym samym coraz bardziej podatny na błędy. Większość twórców systemu Linux embdeded zrezygnowała z systemd ze względu na zużycie pamięci oraz złożoność.

! Naprawa aplikacji w cyklu życia dystrybucji. Powiedz, że używasz dystrybucji X v16.10, który jest dostarczany z pewnym oprogramowaniem. Przed wydaniem wersji dystrybucji X 18.10 niektóre aplikacje są aktualizowane, zyskują nowe funkcje, ale nie można ich oficjalnie zainstalować ani używać.

! Rozwiążmy zatem poprzedni punkt. Większość dystrybucji Linux jest przygotowana w taki sposób, że nie możesz uaktualnić swoich poszczególnych podstawowych komponentów (takich jak jądro, glibc, Xorg, sterowniki wideo Xorg, sterowniki Mesa itp.) bez aktualizacji całego systemu. Jeśli masz nowy sprzęt, często nie możesz także zainstalować obecnych dystrybucji Linuksa, ponieważ prawie wszystkie (poza rzadkimi wyjątkami) nie zawierają najnowszej wersji jądra. Zatem albo musisz używać wersji alfa/development, albo musisz użyć różne hacki w celu zainstalowania wspomnianego jądra.

Niektórzy twierdzą, że jednym z problemów, który poważnie przeszkadza w rozwoju i ekspansji Linuksa, jest to, że Linux nie ma wyraźnej separacji między systemem podstawowym a aplikacjami użytkownika. Innymi słowy (wspomniane już w artykule), twórcy nie mogą polegać na stałym zestawie bibliotek i interfejsach programistycznych (API/ABI). W większości innych systemów operacyjnych można oczekiwać, że aplikacja będzie działała przez wiele lat bez konieczności ponownej kompilacji i bez dodatkowych poprawek, lecz w Linuxie jest to często niemożliwe.

Brak natywnych i/lub prostych rozwiązań wspierających proste szyfrowane udostępnianie plików w sieci lokalnej z uwierzytelnianiem hasłem (Samba nie jest natywna. Jest to implementacja protokołu SMB napisana przy pomocy inżynierii odwrotnej. Jest trudna w konfiguracji i wdrożeniu dla przeciętnego użytkownika). Samba 4 implementuje zbyt wiele usług/demonów.

! Istniejejące Gnome, KDE oraz X.org – trzy główne projekty Open Source zawierają poważnie niedociągnięcia.

! Poważny problemem w przemyśle technicznym jest to, że twórcy systemów Linux/Open Source często nie są zainteresowani naprawianiem błędów, jeśli nie są w stanie ich łatwo odtworzyć (na przykład, gdy środowisko znacznie różni się od środowiska programisty). Problem ten dotyczy niemal wszystkich projektów Open Source i jest bardziej poważny w odniesieniu do Linuksa, ponieważ system ten ma mniej użytkowników i mniej programistów. Deweloperzy Open Source często nie otrzymują zapłaty za naprawianie błędów, zatem nie mają motywacji, by próbować pracować nad trudnymi do odtworzenia błędami.

! We wszystkich aplikacjach można znaleźć zatem mnóstwo błędów. Wystarczy spojrzeć na bugzille KDE lub Gnome – niektóre błędy mają dziesięć lat i zawierają kilkadziesiąt kopii, a nikt nie pracuje nad poprawkami. Programiści rozwijający KDE/Gnome/etc. zajęci są dodawaniem nowych funkcjonalności i łamaniem starych API. Naprawianie błędów jest zbyt nużące i trudne.

! Zbyt duży punkt wejścia w konfiguracji systemu. Nawet obecnie często trzeba używać interfejsu CLI, aby wykonać banalne lub nietrywialne zadania, np. podczas instalacji oprogramowania innych firm.

! Złe lub prawie brak testów regresji w jądrze (i niestety także w innym oprogramowaniu Open Source) prowadzi do sytuacji, w której nowe jądra mogą stać się całkowicie bezużyteczne w niektórych konfiguracjach sprzętowych (zawieszenie oprogramowania, awarie, brak możliwości bootowania, problemy z siecią, przycinanie wideo, itp.).

Okienkowy menadżer sieci w Linuxie ma poważne problemy. Nie może zmienić parametrów sprzętowych karty sieciowej. Nie można ustanowić połączeń PPPoE przez Wi-Fi.

Słaba interoperacyjność między aplikacjami jądra i przestrzenią użytkownika. Na przykład wiele funkcji jądra uzyskuje przyzwoitą implementację przestrzeni użytkownika w kilka lat po wprowadzeniu.

! Zarządzanie bezpieczeństwem i uprawnieniami w Linuxie to bałagan: PAM, SeLinux, Udev, HAL (zastąpione przez udisk/upower/libudev), PolicyKit, ConsoleKit oraz zwykłe uprawnienia Uniksa (/etc/passwd, /etc/group) – wszystkie są ze sobą niekompatybilne. Dość często ludzie nie mogą używać swoich urządzeń, chyba że przełączą się na superużytkownika.

Brak (łatwej w użyciu) piaskownicy na poziomie aplikacji (np. SandBoxie) – Fedora ciężko nad tym pracuje. Można obecnie użyć firejail + firetools.

! Błędy w interfejsie wiersza poleceń CLI dla aplikacji użytkownika, zaś aplikacje GUI powinny lepiej odzwierciedlać błędy.

! Niektóre składniki systemu Linux mają bardzo słabą dokumentację. Brakuje także dobrych podręczników.

! Brak ujednoliconego, szeroko stosowanego systemu podpisywania i weryfikacji paczek. W konsekwencji coraz trudniej jest zweryfikować pakiety, które nie są zawarte w dystrybucji. Brak centralnego organu wydającego certyfikaty i podpisującego pakiety.

Brak natywnych rozwiązań antywirusowych ani podobnego oprogramowania (istnieją, lecz są przeznaczone do wyszukiwania wirusów Windows i analizowania menedżerów Windows – to znaczy są mniej lub bardziej bezużyteczne w przypadku Linuksa. Załóżmy, że chcesz zainstalować nowe oprogramowanie spoza dystrybucji – obecnie nie ma sposobu sprawdzenia, czy zawiera ono kod złośliwy, czy nie.

!! Większość dystrybucji Linuxa nie kontroluje dołączonych pakietów, co oznacza, że fałszywa aplikacja lub łatka może łatwo trafić do większości dystrybucji, zagrażając w ten sposób użytkownikom końcowym (zdarzyło się to już kilka razy).

! Bardzo zła kompatybilność wsteczna i przyszła.

  • ! Z powodu niestabilnych i ciągle zmieniających się interfejsów API jądra/ABI Linux to piekło dla firm, które nie mogą umieścić własnych sterowników do jądra z różnych powodów, np z powodu braku możliwości kontrolowania rozwoju lub współpracy.
  • Stare aplikacje rzadko działają w nowych dystrybucjach Linuksa (niezgodności glibc, błędy, uszkodzenia pamięci, brakujące biblioteki, nieprawidłowe wersje bibliotek). Porzucone oprogramowanie GUI zazwyczaj nie działa w nowszych dystrybucjach. Większość dobrze napisanych aplikacji GUI dla systemu Windows 95 będzie działać w systemie Windows 10 (21 lat zgodności na poziomie binarnym).
  • Nowe aplikacje połączone tylko z bibliotekami C odmówią pracy w starych dystrybucjach. (Mimo że są w 100% zgodne ze starymi dystrybucjami).
  • Nowe wersje bibliotek zawierają błędy, są pofragmentowane i niezgodne.
  • Aktualizacja dystrybucji może uniemożliwić korzystanie z systemu (jądro może się nie uruchomić, niektóre funkcje mogą przestać działać).
  • Istnieje mit, że kompatybilność wsteczna nie jest w Linuxie problemem ponieważ całe oprogramowanie ma dostępne źródła. Jednak wielu programów nie da się skompilować na nowszych dystrybucjach Linuksa z powodu 1) przestarzałych bibliotek lub konfliktów pomiędzy bibliotekami, brakiem bibliotek i zależności 2) każde wydanie GCC staje się coraz bardziej restrykcyjne w stosunku do składni C/C ++ 3) Użytkownicy nie zadają sobie trudu kompilowania starego oprogramowania, ponieważ nie wiedzą, jak je „skompilować” – tak naprawdę to nie muszą tego wiedzieć.
  • Deweloperzy DE (KDE/Gnome) zmieniają elementy interfejsu użytkownika, konfigurację, zachowanie itp.
  • Deweloperzy Open Source nie dbają o zachowanie aplikacji poza wymyślonym przez nich scenariuszem. Programiści coreutils nie bez powodu złamali zatem funkcjonalność head/tail używaną przez Loki Installer.
  • Często zdarza się, że nie można uruchamiać nowych aplikacji w dystrybucji LTS. Najnowszy przykład: oprogramowanie oparte na GTK3 (nie ma oficjalnego sposobu na wykorzystanie go w RHEL6) i Google Chrome (Google zdecydowało się zrezygnować z dystrybucji LTS).

Linux ma ograniczenie w nazwach plików do 255 bajtów (co przekłada się na 63 czterobajtowe znaki w UTF-8) – to niezbyt wiele, zaś kopiowanie lub używanie plików lub katalogów o długich nazwach z komputera z Windows może stać się poważnym wyzwaniem.

! Aktualne poważne problemy z komputerem osobistym autora:
1) Mikser audio ALSA działa inaczej niż mikser audio w Windows, powodując całkowite zamieszanie.
2) Zawieszanie (szczególnie w trybie EUFI) jest całkowicie popsute. Usypianie w rzeczywistości nie działa – NVIDIA odmawia naprawienia tego problemu, bowiem nęka on tylko Linuksa.
3) Menedżer pakietów RPM jest uszkodzony.
4) Kamera internetowa nie działa po zainicjowaniu przez Skype (nie robi nic niezwykłego).
5) Laptop nie może nagrywać dźwięku przez jego mikrofon. Twórcy Alsy nie odzywają się w tej sprawie od 1,5 miesiąca.

Niektóre aplikacje, które są dostępne zarówno w systemie Windows, jak i Linux, uruchamiają się szybciej w systemie Windows – czasem kilka razy szybciej. Warto jednak zauważyć, że dysk SSD nie daje żadnej różnicy.

Wszystkie natywne systemy plików Linux rozróżniają wielkości liter w nazwach plików, co całkowicie dezorientuje większość użytkowników. Ta funkcjonalność nie ma żadnego rozsądnego uzasadnienia. Mniej niż 0,01% użytkowników w świecie Linuksa potrzebuje tej funkcjonalności.

!! Większość systemów plików Linux nie może być w pełni defragmentowana, chyba że kompaktujesz i rozwiniesz partycję, co jest bardzo niebezpieczne. Ext4fs obsługuje defragmentację, ale tylko dla pojedynczych plików. Nie można łączyć danych i przekształcać wolnej przestrzeni w jeden ciągły obszar. XFS obsługuje pełną defragmentację, ale domyślnie większość dystrybucji oferuje Ext4 i nie ma oficjalnego bezpiecznego sposobu na konwersję z ext4 na XFS.

Linux zachowuje czas tworzenia plików tylko dla niektórych systemów plików (ext4, NTFS, fat). Inną kwestią jest to, że narzędzia użytkownika nie mogą obecnie wyświetlać ani modyfikować tego czasu (ext4 debugfs działa tylko pod rootem).

Wiele problemów związanych z Uniksem (PDF, 3 MB) ma również odzwierciedlenie w Linuksie/GNU.

W społeczności open source jest wiele wrogości.

To jest tak „niesamowite„, że musisz to przeczytać – jak twórca gry XScreenSaver walczył z deweloperami Debiana.

Losowe problemy, czyli dlaczego możesz nienawidzieć Linuxa (niektóre punkty są poważnie nieaktualne/nieistotne/poprawione, ale wciąż istnieją. Dlatego warto przeczytać je i przekonać się więcej od społeczności open source):
1. KDE: rozwiązywanie problemów z błędami kded4.

2. Dyskusja na temat Slashdot, czyli dlaczego ludzie wciąż wolą Windows niż Linux.
3. Kolejna wielka dyskusja na Slashdot, czyli czego wciąż brakuje Linuxowi.
4. KDE może zamrozić cały pulpit – wydaje się być naprawiony w KDE5.
5. Dlaczego Linux na desktopie się nie przyjął – Slashdot.
6. Torvalds zamknął obsługę NVIDIA w Linuxie – Slashdot.
7. Czy komputery typu Open-Source tracą konkurencyjność? – Slashdot (ogólny konsensus – nie).
8. Problemy z kartami Wi-Fi Broadcom w Linuxie.
9. Programista Gnome ubolewa nad rozwojem Gnome 3.
10. Cholerne dystrybucje LTS: Google twierdzi, że Red Hat Enterprise Linux 6 jest przestarzały (Naprawdę ?!).
11. O API Gnome 3.
12. Ubuntu ogłosiło Mir, czyli alternatywę dla X.org / Whayland.
13. Klient poczty KDE niepoprawnie obsługuje konta pocztowe IMAP.
14. Zabezpieczenia komputerów stacjonarnych w systemie Linux to bałagan (spakowana prezentacja MS Powerpoint, 1,3 MB) + 13 błędów HID.
15. Kolejny programista Gnome potwierdza, że ​​Gnome 3 był dużym błędem.
16. Programiści Gnome mają w nosie użytkowników.
17. Już poprawione: deweloperzy KDE jeszcze raz spytali: „Chcesz wyłączyć indeksowanie plików? Naprawdę? Bierz to, co dajemy„.
18. „Bezpieczeństwo” Linuxa to bałagan. W ciągu ostatnich sześciu miesięcy odkryto dwa lokalne exploity dotyczące uzyskania roota w jądrze Linuksa. Sześć krytycznych problemów zostało odkrytych w OpenSSL (które umożliwiają zdalne wykorzystywanie, ujawnianie informacji i ataki typu MITM).
19. Programiści Skype’a porzucili wsparcie dla ALSA. Świetna kompatybilność, olać stare dystrybucje, olać ludzi, którzy nie mają PulseAudio.
20. No to po kompatybilności: są teraz trzy wersje OpenSSL: OpenSSL, BoringSSL od Google, LibReSSL od OpenBSD. Wszystkie z niekompatybilnymi interfejsami API/ABI (OpenSSL podzielił API/ABI).
21. Programiści KDE postanowili usunąć wsparcie dla zasobnika systemowego opartego na Xembed, zatem stare aplikacje nie będą mogły mieć ikony w trayu, chyba że załatasz swój system. Funkcja została jednak przywrócona w Plazmie 5.5.5 po dwóch latach (!!) protestów użytkowników.
22. Twórcy i opiekunowie KDE po cichu usuwają nieprzyjemne komentarze użytkowników na dot.kde.org. Programiści KDE ignorują też błędy opublikowane na bugs.kde.org.
23. Emulacja PulseAudio dla Skype. Od teraz dźwięk nie jest w Linuxie popieprzone?
24. Monitorowanie połączeń UDP jest piekłem na ziemi.
25. Linux stał się zbyt skomplikowany, nawet dla… programistów Linuksa.
26. Twórcy Linuxa zrezygnowali z utrzymywania kompatybilności API/ABI nawet wśród współczesnych dystrybucji i postanowili połączyć pełny stos Linuxa z aplikacjami, by je wirtualizować. To jest tak bardzo popieprzone, że brak słów. Jest do tego potrzebny Wayland, więc ta rzecz nie zniknie w najbliższym czasie.
27. Z 20 najczęściej popularnych gier w Steam, jedynie trzy są dostępne dla platformy Linux. Nie mówię, że to źle, po prostu tak jest.
28. Ten artykuł staje się coraz bardziej niezręczny, ale chrzanić to, nawet Linus przyznaje, że kompatybilność API/ABI w Linuksie jest nie do pobicia: „tworzenie plików binarnych dla aplikacji desktopowych Linuxa to poważny pieprzony ból. Nie tworzysz binariów dla Linuksa, tylko tworzysz pliki binarne dla Fedory 19, Fedory 20, może nawet RHEL5 sprzed 10 lat. Tworzysz binaria dla Debiana Stable… właściwie nie, nie tworzysz binariów dla Debiana Stable, ponieważ Debian Stable ma tak stare biblioteki, że cokolwiek zbudowane w ubiegłym wieku – nie działa. „
29. KDE wymyka się spod kontroli (poza tym jakość kodu jest przerażająca – kilka kluczowych części KDE SC, takich jak Kmail/akonadi, ledwie działa): ludzie nie chcą utrzymywać setek pakietów KDE.
30. Google Chrome przestał obsługiwać 32-bitowe dystrybucje Linuxa od marca 2016 r. Nie obchodzi ich, że 64-bitowe dystrybucje i aplikacje wymagają w niektórych przypadkach nawet 40% więcej pamięci RAM.
31. Ale śmieszne… a może nie? Rodzime gry z Linuxa… nie działają pod Linuxem. Brak kompatybilności. Ten system to pieprzony żart.
32. Pytasz o QA/QC w Linuxie? Naprawdę? Nie żartujesz?
33. W kwietniu 2017 Canonical (firma rozwijająca Ubuntu) opracowała własne środowisko desktopowe Unity i własny menedżer wyświetlania Mir. Wiele osób zakwestionowało decyzję o migracji do Gnome 3, bowiem w ich opinii nie jest to przyjazne dla komputerów środowisko graficzne.
34. To jest tak genialne, że brak słów. W ten sposób projekty open source powinny wchodzić w interakcje częściej (to niestety smutny żart). KWin + Wayland vs. Qt 5.8 / 5.9!
35. W 2018 r. deweloperzy Gnome zdecydowali, że w aplikacjach należy przenieść paski tytułów do nagłówka okna.
36. Ważna informacja: Linux.com przyznaje, że Linux nie posiada stabilnych kernela: „Jedyne, co możemy zrobić, to stwierdzić, że są” inaczej stabilne”.

Tworzenie oprogramowania dla systemu Linux

  • ! Nonesns w API: nie można opracować sterowników jądra, ponieważ wkrótce staną się one niekompatybilne z główną linią rozwoju. To jedyny powód, dla którego RHEL i inne dystrybucje LTS są tak popularne w przedsiębiorstwie. Właśnie dlatego Google opracowuje obecnie alternatywę dla jądra systemu Linux – nawet jeśli nie ma wystarczających zasobów i siły woli, aby utrzymać własny fork linuksowy.
  • Tworzenie gier: brak kompletnego środowiska multimedialnego.
  • ! Wrogość wobec programistów stron trzecich: wiele projektów open source jest bardzo zamkniętych, tzn. jeśli próbujesz rozwijać swój projekt open source za pomocą biblioteki X o otwartym kodzie źródłowym lub jeśli spróbujesz przekazać swoje sugestie do jakiegoś projektu open source, spotkasz się z wrogością.
  • Kilka z powyższych punktów odnosi się jedynie do tej kategorii i nie będzie o tym więcej mowy.

Problemy na poziomie systemu Linux

  • Większość dystrybucji nie pozwala na łatwe konfigurowanie serwera, np. konfiguracja: Samby, SMTP / POP3, Apache HTTP Auth i FTP, gdzie wszyscy użytkownicy są wirtualni. LDAP to porażka. Uwierzytelnianie MySQL czy w innym serwerze DB to też porażka.
  • ! Brak polityk grupowych.
  • ! Brak normalnego sposobu wdrażania oprogramowania (przpychanie oprogramowania przez SSH to jest jakaś opcja, ale w żaden sposób nie da się nazwać jej standardową czy łatwą w użyciu.
  • ! Brak alternatywy dla CIFS/AD (SAMBA nie nadaje się z wielu powodów): 1) Brak scentralizowanego i łatwego w zarządzaniu katalogu użytkowników. 2) Brak prostego udostępniania plików. 3) brak prostego wykrywania i przeglądania komputera (LAN).
  • Brak natywnego systemu plików gotowego do produkcji z możliwością dublowania, sprawdzania sum kontrolnych i kompresji plików (zobacz wsparcie dla bcachefs – ma to wszystko). Nie ma żadnych systemów plików obsługujących szyfrowanie danych (ext4fs implementuje szyfrowanie dla katalogów zaczynających się od Linuksa 4.1, ale minie wiele miesięcy, zanim środowiska zaczną obsługiwać tę funkcję).
  • !! Brak opcji RDP/Serwera terminali (standardowo wbudowanego w różnych dystrybucjach, o wysokim poziomie kompresji, z małymi opóźnieniami, nie wymagający wysiłku w konfiguracji, zintegrowany z mechanizmem PAM, całkowicie zaszyfrowanym: uwierzytelnianie + transfer, podpisanym cyfrowo podobnie jak SSH).

Podsumowanie

  • Brak stabilności, błędy i ogromna fragmentacja systemu: istnieje niesamowita liczba wersji (zarówno jądra, jak i aplikacji użytkownika), niektóre aplikacje działają, po czym w niewytłumaczalny sposób przestają działać; niektóre regresje mogą nawet doprowadzić do utraty danych. Brak ma kontroli jakości (QA/QC), brak jest sprawdzania regresji w większości projektów Open Source (w tym jądra) – Microsoft na przykład, zgłasza, że ​​Windows 8 przeszedł 1.240.000.000 godzin testów, podczas gdy nowe wydania jądra dostają poniżej 10 000 godziny testów – i każde wydanie jądra Linuxa jest porównywalne z nową wersją systemu Windows. Istnienie poważnych błędów utrudniających pracę czasem zajmują lata. Wiele istotnych urządzeń (np. GPU, karty Wi-Fi) są niewłaściwie obsługiwane. Zarówno w wersji Linux 4.1.9/4.1.10, które są uważane za „stabilne” (ta seria to LTS!), występują awarie podczas obciążenia sieci.
  • Problemy sprzętowe: wciąż zbyt wiele urządzeń w systemie Linux jest słabo obsługiwane lub nie jest obsługiwane wcale. Niektóre urządzenia (np. Karty Wi-Fi Broadcom) nie mogą być używane, chyba że masz już ustanowione połączenie z Internetem. Nowy sprzęt często staje się obsługiwany dopiero kilka miesięcy po wprowadzeniu. Oprogramowanie dedykowane do zarządzania urządzeniami takimi jak drukarki, skanery, aparaty fotograficzne, kamery internetowe, odtwarzacze audio, smartfony itp. niemal nie istnieje – więc nie będziesz w stanie w pełni kontrolować swojego nowego iPada czy zaktualizować oprogramowanie na swoim Galaxy SIII. Obsługa grafiki w systemie Linux to wielki bałagan, ponieważ ciągle zmieniane są interfejsy API jądra/X.org/ABI. Firmy NVIDIA/ATI/Broadcom/inne, nie chcą zajmować się pisaniem sterowników dla Linuxa, bo to ogromne koszty spowodowane szalonym tempem zmian w oprogramowaniu Open Source.
  • Brak standaryzacji, nadmierna i nieuzasadniona różnorodność, a także brak jednej wizji rozwoju, każda dystrybucja ma własne standardy: Istnieje zbyt wiele niezgodnych między sobą dystrybucji Linuxa: z odmiennymi konfiguracjami, systemami pakietów i niekompatybilnymi bibliotekami. Dystrybucje wykorzystują zupełnie inne środowiska graficzne, aplikacje GUI i konsolowe do konfigurowania ustawień. Na przykład. Dystrybucje oparte na Debianie zobowiązują Cię do używania narzędzia dpkg-reconfigure opartego wyłącznie na trybie tekstowym w celu wykonywania niektórych zadań związanych z utrzymaniem systemu.
  • Zbyt słaba współpraca pomiędzy programistami open source i wewnętrzne wojny: brak centralnego organu organizującego rozwój różnych części pakietu open source, co często prowadzi do sytuacji, w której jeden projekt wprowadza takie zmiany, które powodują upadek innych projektów (mowa o tym także poniżej – niestabilne API/ABI”). Pomimo, że ruch Open Source cierpi na brak siły roboczej, dystrybucje Linux znajdują wystarczającą ilość zasobów na niepotrzebnie forkują projekty (deweloperzy Gentoo zamierzają opracować slternatywną wersję udev, niekompatybilne zmiany w ffmpeg, co doprowadziło do pojawienia się libav, czyli sytuacji z OpenOffice/LibreOffice; alternatywa dla X.org/Wayland – Mir) i używają własnych rozwiązań.
  • Za dużo zbyt szybkich zmian: Większość dystrybucji Linux ma zbyt krótkie cykle aktualizacji/wydań (w niektórych przypadkach nawet sześć miesięcy, lub np. Arch, który jest stale zmienną dystrybucją, Fedora, która jest aktualizowana co sześć miesięcy), zatem użytkownik jest non stop bombardowany zmianami, których się nie spodziewa lub których po prostu nie che. Dystrybucje LTS (czyli ze wsparciem długoterminowym) są w wielu przypadkach nieodpowiednie dla użytkowników komputerów stacjonarnych ze względu na politykę wsparcia dla aplikacji (i zazwyczaj nie ma oficjalnie zatwierdzonego sposobu instalowania aplikacji – proszę nie przypominać mi o PPA i opcjach – te hacki nie są oficjalnie wspierane i nie gwarantują działania). Innym problemem dystrybucji LTS jest to, że jądra LTS często nie obsługują nowego sprzętu.
  • Niestabilne interfejsy API/ABI a do tego brak jest pomiędzy nimi zgodności: Trudno jest używać starego otwartego i zamkniętego oprogramowania źródłowego w nowych dystrybucjach (w wielu przypadkach staje się to niemożliwe z powodu zmian w podstawowych składnikach systemu Linux, takich jak jądro, GCC lub glibc). Prawie nie istnieje kompatybilność wsteczna, co sprawia, że ​​trudne i kosztowne jest tworzenie zamkniętych aplikacji źródłowych dla poszczególnych dystrybucji Linuxa. Oprogramowanie Open Source często zostaje porzucone, bowiem brakuje aktywnych programistów lub opiekunów projektu. Często dzieje się tak, ponieważ niemożliwe jest spełnienie zależności, gdyż starsze biblioteki stały się przestarzałe lub nie są już dostępne. Z tego powodu wiele aplikacji KDE3/Qt3 nie jest dostępnych w nowoczesnych dystrybucjach systemu Linux, nawet jeśli nie istnieją dla nich alternatywy. Rozwijanie sterowników poza głównym drzewem jądra Linuksa jest męczące i kosztowne. Brak jest odpowiednika systemu WinSxS dla systemu Linux. Dlatego nie ma prostego sposobu instalowania konfliktowych bibliotek. W 2015 r. Debian zrzekł się wsparcia dla Linux Standard Base (LSB). Czyli witamy niekompatybilność!
  • Problemy z oprogramowaniem: zbyt mało gier (najwięcej jest w Indiach) i zaledwie kilka topowych gier (współpraca Valve z twórcami gier doprowadziła do ​​wydania wielu nowych gier na Linuksa, jednak wciąż co roku tysiące tytułów jest wydanych wyłącznie dla systemu Windows. Ponad 98% istniejących czy nadchodzących tytułów gier jest nadal niedostępne dla systemu Linux). Brak jest znanego oprogramowania dla systemu Windows, żadnego pakietu Microsoft Office (LibreOffice wciąż ma poważne problemy z prawidłowym otwarciem dokumentów Microsoft Office), brak natywnego CIFS (łatwego do skonfigurowania i użytku, a także chronionego hasłem i szyfrowanego udostępnianie plików w sieci) bez Active Directory lub jego odpowiednika takiej funkcji.
  • Pieniądze, motywacja i odpowiedzialność: Przewidziałem już wiele lat temu, że twórcy FOSS zaczną odsuwać się od tej platformy, ponieważ FOSS to nie jest już plac zabaw, gdyż wymaga znacznego wysiłku i czasu. Zabawa kończy się, gdy programiści zaczynają żądać pieniędzy, by wynagrodzić ich za ciężką pracę. Rozwój FOSS, któremu brak jest wsparcia finansowego, rozczaruje. Platforma FOSS wymaga deweloperów motywowanych finansowo, bowiem niedofinansowane projekty słabną, a błędy krytyczne pozostają przez lata niezałatane. Problem polega na tym, że często w tych upadających projektach nie ma alternatywy lub następców.
  • Brak dopracowanych i spójnych zasad dla interfejsów użytkownika (przyznają to nawet programiści KDE).

Ten artykuł jest kłamstwem! Linux u mnie działa/u mojego dziadka/u mojej cioci/etc

Lubię, gdy ludzie to mówią, lecz napisałem tylko listę problemów z Linuxem, które dotyczą prawie każdego użytkownika.

Ani Adobe Flash, ani Mozilla Firefox, ani Google Chrome nie używają dekodowania wideo i akceleracji wydajności w systemie, dlatego klipy YouTube o wiele szybciej wyczerpią baterię laptopa niż np. w systemie Windows. Adobe twierdzi, że ma już dość błędów związanych z akceleracją dekodowania filmów pod Linuxem i odmawia ponownego dodania tej funkcji (kiedyś była dostępna, ale ją usunięto, by zatrzymać nawał raportów o błędach). To nie Adobe jest winne, że akceleracja filmów jest w Linuxie chaotyczna.

Technologia NVIDIA Optimus oraz dynamiczne przełączanie GPU ATI nadal nie są obsługiwane w systemie Linux zaraz po zainstalowaniu w najnowszych wersjach dystrybucji Linux (Ubuntu, OpenSUSE, Fedora). Należy jednak uczciwie powiedzieć, że Linux Mint 17.2 obsługuje Optimusa, ale by zmienić aktywny GPU, musisz się wylogować/zalogować, co niewygodne. Tymczasem ponad 50% laptopów zawiera przełączalną grafikę Optimus lub AMD.

Obsługa skrótów klawiszowych dla lokalnych układów klawiatury jest zepsuta (błąd ma teraz 13 lat). Przecież nie wszyscy mieszkają w krajach anglojęzycznych.

Obsługa klawiatury w X.org jest zepsuta już przez sam projekt – gdy wyskoczy okienko lub jest otwarte menu, globalne skróty klawiszowe/klawisze skrótu (GTK) nie działają (QT).

Brak jest łatwego sposobu korzystania z oprogramowania, które nie jest oferowane przez repozytorium. Dotyczy to w szczególności oprogramowania, które jest dostępne jedynie jako źródło. Dla przeciętnego użytkownika, niebędącego specjalistą od IT, nie ma mowy o jego zainstalowaniu.

Nie grasz w gry, prawda? Dla Linuxa wciąż istnieje niewiele gier: przez ostatnie trzy lata udostępniono mniej niż tuzin dobrych tytułów. Większość gier na Linuksie na Steamie to gry indyjskie.

Brak jest pakietu Microsoft Office na system Linux. LibreOffice/OpenOffice ma nadal poważne problemy z prawidłowym otwarciem i renderowaniem dokumentów Microsoft Office (a jest to standard w świecie biznesu). Poza tym LibreOffice ma zbyt odmienny interfejs użytkownika, a dodatkowo wiele funkcji działa zupełnie inaczej.

Brak jest kilku kluczowych aplikacji z Windows: Quicken, produkty Adobe (Photoshop, Audition, itp.), programy firmy Corel (CorelDraw i inne), Autodesk (3ds Max, Autocad itp.), Brak jest poważnych programów do tworzenia BluRay/DVD, brak profesjonalnych aplikacji do dźwięku/muzyki (CuBase, SoundForge itp.).

W 2017 roku wciąż brakuje alternatywy dla udostępniania plików w sieci Windows (udostępnianie plików, które można w łatwy łatwo konfigurować, szyfrować i chronić hasłem). NFS i SSHFS to dwie kiepskie, całkowicie nieprzyjazne dla użytkownika alternatywy.

Linux nie ma niezawodnie działającej, bezproblemowej, szybkiej i natywnej implementacji protokołu MTP. Aby współpracować z urządzeniami MTP, takimi jak… linuxowe telefony z Androidem. W tym przypadku najlepiej użyć… Windows lub MacOS X. Aktualizacja: rosyjski programista był tak poirytowany libMTP, że napisał własną kompletną aplikację opartą na Qt, która bezpośrednio współpracuje z jądrem Linux za pomocą libusb. Poznaj Android-File-Transfer-Linux.

Zbyt wiele rzeczy w Linuksie wymaga ręcznej konfiguracji przy użyciu plików tekstowych. Aby wymienić tylko kilka: NVIDIA Optimus i przełączalna grafika AMD, wyświetlacze UHD, niestandardowe częstotliwości odświeżania ekranów, konfiguracje multiseat, modemy USB 3G/LTE, przeróżne konfiguracje demonów i zaawansowane konfiguracje audio.

Możesz zapomnieć o zarządzaniu gadżetami elektronicznymi (zwłaszcza smartfonami, np. iPhone’y są bezużyteczne w Linuksie). W wielu przypadkach zapomnij także o zaawansowanych funkcjach drukarki, takich jak raportowanie poziomu atramentu.

Tak, pomyślmy teraz, czy Linux jest gotowy na komputery typu desktop…

Komentarz od autora

Wielu nowicjuszy Linuxa lub użytkowników używających niewielkiego zestawu aplikacji, szybko zignoruje tę listę problemów mówiąc: „dźwięk w moim Linuxie u mnie działa poprawnie” lub „nigdy nie miałem żadnych problemów z filmami w Linuxie”. Ale wystarczy otworzyć pewne strony, by mieć pełen obraz problemów, z którymi borykają się użytkownicy Linuxa. Wystarczy odwiedzić fora Ubuntu lub Linux.com i policzyć ilość wątków, które zawierają na przykład „usunąłem PulseAudio i teraz działa mi dźwięk” albo „w końcu odkryłem, że mogę używać nouveau zamiast sterowników binarnych NVIDIA (lub odwrotnie) i moje problemy zniknęły”.

Jest jeszcze jedna ważna kwestia, której krytycy nie rozumieją. Jeśli coś nie działa w Linuxie, ludzie nie będą się przejmować tym, czyja to wina, tylko automatycznie i słusznie zakładają, że to wina systemu. Dla przeciętnego użytkownika Linux jest tylko kolejnym systemem operacyjnym. Nie obchodzi ich, czy konkretna firma ABC zdecydowała się nie wspierać tego systemu, czy też nie będzie już wydać w pełni funkcjonalnych sterowników – ich sprzęt po prostu nie działa jak powinien, tzn. Linux nie działa. Ludzi nie interesuje, że Skype co chwilę nie działa, ale tylko w pewnych okolicznościach – nawet jeśli Skype to okropne oprogramowaniem, które ma mnóstwo błędów, a nawet zawiesza się nawet w Windows oraz MacOS.

Chcę obalić powszechne błędne przekonanie, że obsługa starszego sprzętu w Linux jest o wiele lepsza niż w Windows. Choć to częściowo prawda, to jest również fałszywa. Na przykład żadne zamknięte sterowniki NVIDIA nie obsługują starszych procesorów graficznych NVIDIA. Prędkość przyśpieszania grafiki OpenGL Nouveau jest niewystarczająca, NVIDIA nie obsługuje wielu kluczowych funkcji, które można znaleźć w Xrandr, ani funkcji wymaganych do prawidłowego przyspieszenia nowoczesnych interfejsów GUI Linuksa (takich jak Gnome 3 lub KDE4). W przypadku, gdy twój stary sprzęt jest wciąż obsługiwany, sterowniki dla systemu Linux prawie zawsze oferują jedynie niewielki podzbiór funkcji znalezionych w sterownikach systemu Windows. Zatem twierdząc, że obsługa sprzętu w systemie Linux jest lepsza, to tylko dlatego, że nie musisz spędzać 20 minut na instalowaniu sterowników, co jest w najlepszym wypadku nieuczciwe.

Niektóre komentarze mnie zadziwiają: „to okropne, mam na myśli, że jest wiele półprawd i opinii.” NVIDIA Optimus (nie używaj tego, przejdź na Intel lub coś innego). „Kupiłem laptopa, aby móc korzystać z gier w Wine/dualboot a ty piszesz, że nie powinienem kupować? Sugeruję, aby nie narzucać swojej opinii innym osobom, które mogą po prostu czerpać przyjemność z grania w gry w wysokiej jakości. Mówienie, że SSHFS jest zamiennikiem Windows File Sharing, jest najbardziej niedorzeczną rzeczą, jaką słyszałem w całym moim życiu.

Warto zauważyć, że najgłośniejsi uczestnicy społeczności Open Source są skrajnie zuchwałymi i przesadnie idealistycznymi ludźmi, którzy zdecydowanie domagają się, aby wszystko było otwarte i darmowe, a jeśli nie, to nie ma prawa w ogóle istnieć w Linuksie. Tego typu nastawienie sprawia, że wiele firm całkowicie lekceważy i unika pracy w Linuxie. Linus Torvalds kiedyś o tym powiedział: w świecie wolnego oprogramowania istnieją „ekstremiści”, ale to jeden z głównych powodów, dla których nie nazywam tego, co robię „wolnym oprogramowaniem”. Nie chcę być związany z ludźmi, których chodzi jedynie o wykluczenie i nienawiść.

Co najważniejsze, lista problemów w tym artykule nie jest opinią. Niemal każdy punkt na liście zawiera linki do odpowiednich artykułów, wątków i dyskusji dotyczących problemów. Udowadniam zatem, że ich nie wymyśliłem. I proszę: zawsze sprawdzajcie swoje „fakty”.

Ten artykuł został omówiony na Slashdot, Reddit, Hacker News i Lobste.rs w 2017 roku.

Czasem używałem słowa „na pewno” zamiast „zwykle”, ale po tym, jak ten tekst został nazwany „histerycznym nonsensem” (jest tu obalenie), postanowiłem nie używać więcej tego słowa.

Plusy

Jeżeli masz wrażenie, że Linux jest do bani – jesteś w dużej mierze w błędzie. W przypadku ograniczonego i/lub nieprofesjonalnego użytkowania Linuxa, gdy system operacyjny ma jedynie działać w ograniczonym zakresie, możesz mieć pewność, że jesteś wolny od szkodliwego oprogramowania. Możesz bezpiecznie instalować i odinstalowywać oprogramowanie, nie obawiając się, że system się zepsuje. W tym samym czasie problemy w systemie Windows (wymienione na początku artykułu) są niemal niemożliwe do naprawienia, chyba że Microsoft zacząłby od zera. Co więcej, Linux, w przeciwieństwie do Windows 10, nie zbiera danych o Tobie i nigdzie ich nie wysyła. Niektóre punkty w artykule muszą zostać poprawione, ponieważ w 2016 r. niektóre kwestie zostały już rozwiązane lub są mniej istotne, jak wskazał Justin Garrison na stronie medium.com.

Trwają również prace nad kilkoma projektami, które mają na celu uproszczenie, modernizację i ujednolicenie linuxowego pulpitu. Jest systemd, Wayland, ujednolicenie systemu plików. Niestety, nikt nie pracuje nad stabilizacją Linuksa, zatem jedyną alternatywą dla Windows w świecie Linuksa jest Red Hat Enterprise Linux oraz jego pochodne (CentOS i Scientific Linux).

Wiele najwyższej klasy silników gier 3D obsługuje już system Linux (z zastrzeżeniami): CryEngine, Unreal Engine 4, Unity Engine, Source Engine 2.0 oraz inne.

Valve Software wypuściło Steam dla Linuxa (niestety, działa dobrze tylko pod SteamOS i ma problemy ze zgodnością z nowoczesnymi dystrybucjami). Portuje też silnik Source dla Linuksa, a także stworzyli Steam Game Machine opartą na systemie Linux. Wysiłki Valve zaowocowały serią dostępnych gier, które zostały udostępnione jako natywne dla systemu Linux, np. Metro Last Light. Valve od tego czasu przeportowało wiele swoich gier na Linuksa.

Oto lista tytułów gier AAA, które zostały wydane mniej więcej niedawno (w odwrotnej kolejności, tj. Nowsze tytuły na początku listy):

Too lista tytułów gier które będą wydane (w odwrotnej kolejności, najnowsze tytuły na początku listy):

NVIDIA sprawiła, że ​​ich sterowniki są bardziej kompatybilne z bumblebee, jednak same NVIDIA nie obsługują Optimus pod Linuxem – być może dlatego, że architektura X.org/kernel się do tego nie nadaje. Rozpoczęli także prace nad dokumentacją GPU, choć na razie bardzo ograniczoną.

Linus Torvalds wierzy, że interfejsy API Linuksa staną bardziej stabilne – jednak osobiście nie podzielam jego optymizmu :).

Deweloperzy Ubuntu wysłuchali mnie i stworzyli nowy ujednolicony format pakietów. Więcej o tym tutaj i tutaj. Deweloperzy Fedory postanowili podążyć śladem Ubuntu i zastanawiają się, czy instalacja komercyjnego oprogramowania innych firm jest łatwa oraz bezproblemowa.

Linux Foundation stworzył nową inicjatywę wspierającą krytyczne projekty Open Source.

Firewall o nazwie Douane została przekazany społeczności Linuksa. Ogromne dzięki dla autora!

Wraz z wydaniem Mesa 11 we wrześniu 2015, w końcu OpenGL 4.1 stał się dla Linuxa faktem. Mam nadzieję, że zachęci to wydawców gier do przeniesienia większej liczby gier na system Linux. W czerwcu 2015 r. Pozostałe części stosu OpenGL 4.5 zostały zaimplementowane w Linuksie, zatem OpenGL 4.5 jest teraz w pełni obsługiwany w systemie Linux przez główne otwarte sterowniki (Intel, AMD i NVIDIA).

Od marca 2017 r. można oglądać Netflix w systemie Linux.

W sierpniu 2018 roku Valve wypuściło proton dla Steam: ta warstwa kompatybilności oparta na Wine, pozwala na uruchamianie rodzimych gier Windows z katalogu Steam w Linuksie bez użycia żadnych sztuczek z prawie natywną prędkością. Jego jedyną wadą jest to, że wymaga ona wystarczająco nowoczesnego procesora graficznego, który obsługuje Vulkan.

W 2018 r. Dzięki projektowi DXVK, gracze mogą uruchamiać gry systemu DirectX 11 w systemie Linux – jednak implementacja jest bardzo uboga i prawdopodobnie zostanie zastąpiona przez DXVK.

W sierpniu 2018 roku Valve wypuściło Proton for Steam: to warstwa kompatybilności oparta na Wine, która pozwala na uruchamianie gier z Windows z katalogu Steam w Linux bez używania żadnych sztuczek i to prawie z natywną prędkością. Jego jedyną wadą jest to, że wymaga ona wystarczająco nowoczesnego procesora graficznego, który obsługuje Vulkan.

Tyrada

Czasem mam powody, aby powiedzieć, że rzeczywiście Linux jest zły i że go nienawidzę. Lennart Poettering nie dodaje nic na temat, jak korzystać z systemu i nie chce mi się nawet wspominać, że te rzeczy wcześniej działały. „Jestem programistą – zatem wiem lepiej, jak użytkownicy używają swojego oprogramowania i systemów” – mówi przeciętny programista Linux. Rezultatem jest to, że wiele innowacji przyciąga powszechną złość i nienawiść – Gnome 3, Unity, KDE 4.0 to doskonałe przykłady takiej tendencji do wkręcania użytkowników Linuxa.

Oto moje stanowisko wobec systemd: nie lubię tego. Próbowałem już dziesięć razy, lecz ta obrzydliwość ciągle powoduje awarie całego systemu, nie może zakończyć procesu rozruchu, zatrzymuje się w połowie, jest niestabilne. System inicjujący nigdy nie powinien się zawiesić! Wpisz w Google „systemd segfault”, „systemd crash”, „systemd freeze” i uświadom sobie, że to nigdy nie powinno istnieć w systemach produkcyjnych oraz w stabilnych dystrybucjach.

Linux ma tendencję do utraty danych. W ciągu ostatnich trzech lat wykryto co najmniej trzy krytyczne błędy, które doprowadziły właśnie do ​​utraty danych. Przykro mi to mówić, ale to absolutnie nie do przyjęcia. Również ext4fs jest poddawany przerażającą liczbą zmian w każdym wydaniu jądra.

Istnieją dwa różne opinie do bezpieczeństwa otwartych i zamkniętych aplikacji źródłowych. Moje stanowisko jest całkiem jasne: bezpieczeństwo Linuxa to smutny żart. Nie ma analizatorów kodu/programów antywirusowych, więc nie ma możliwości sprawdzenia, czy opublikowana aplikacja – czy to w postaci binariów, czy nawet jako kod źródłowy jest bezpieczna w użyciu. Od czasu do czasu zastanawialiśmy się, czy projekty open source są w ogóle analizowane, co oznacza, że ​​atakujący może wysłać łatkę do Linusa Torvaldsa i dodać backdoora bezpośrednio do jądra Linuksa.

Krytyczne błędy uniemożliwiające korzystanie ze sprzętu/oprogramowania w Linuxie pozostają otwarte przez lata! Zgłosiłem, że moja kamera internetowa jest zepsuta (całkowicie czarna w niektórych trybach wideo) trzy (!!) lata temu. Ta kamera internetowa jest jedną z najpopularniejszych. Dla mojego nowego laptopa Skylake złożyłem osiem raportów o błędach, a siedem z nich pozostaje wciąż otwartych. Sześć z nich nie otrzymało żadnej odpowiedzi. Zero.

Prawdziwa kompatybilność między dystrybucjami? O czym ty mówisz? Zapytaj programistów dystrybucji Linuxa. Debian zrezygnował z obsługi LSB w 2015 r. Niedawno twórcy Ubuntu postanowili umożliwić uruchamianie nowego oprogramowania w starych dystrybucjach za pomocą formatu SNAPPY, który jest w zasadzie warstwą emulacji aplikacji. Świetnie. Chodzi mi o to, że to dobra rzecz i została w końcu zaimplementowana, ale to zła droga!

Problemy z czcionkami: jeśli nadal chcesz mieć dobre/najlepsze/darmowe czcionki dla systemu Linux, pobierz je stąd. Wygląda na to, że wielu ludzi odwiedza tę stronę, szukając najlepszej dystrybucji Linuksa na komputery stacjonarne w 2016 roku.

Czy jest jakieś rozwiązanie dla Linuksa?

Wiele osób zastanawia się, czy Linux może zostać „poprawiony”. Czy jest coś, co można zrobić, aby Linux stał się prawdziwą alternatywą dla Windows i Mac OS X na komputery desktop. Muszę przyznać, że to może być trudne, a dodatkowo już przynajmniej dwie znane firmy zawiodły: najnowszym przykładem jest firma z Afryki, Ubuntu i możesz być zaskoczony faktem, że Corel próbował na początku 21 wieku (Google dla Corel Linux).

Oto jak może wyglądać ten proces:

  1. Na początek musisz mieć bardzo dużo pieniędzy: mówimy o co najmniej miliardzie dolarów w gotówce przez pierwsze pięć lat. Kiedy masz takie pieniądze, tworzysz firmę linuxową.
  2. Zatrudnisz co najmniej 90% programistów open source. Pewnie będziesz musiał ich sporo pozyskać z RedHat/Intel/Ubuntu/itd., w tym Linusa Torvaldsa.
  3. Następnie zaczynasz tworzyć platformę Linux, jednocześnie trzymając się pewnych zasad (tutaj i tutaj):
  • Wprowadzasz rygorystyczny proces kontroli jakości.
  • Ściśle współpracujesz z IHV/ISV, słuchając tego, czego chcą.
  • Tworzysz rozszerzalną platformę podstawową (IDE/libraries/kernel/etc.) ze ścisłym zestawem interfejsów API/ABI, w których przestrzegane są zasady przez co najmniej pięć do dziesięciu lat.
  • Tworzysz uniwersalny format pakietów oprogramowania do sprzedaży wiązanej, który obsługuje sygnatury, zależności, izolację (np. sandboxing/wirtualizacja), poprawną deinstalację i standardowe interfejsy API, aby umożliwić integrację aplikacji z DE.
  • Tworzysz sklep, w którym mogą być umieszczane aplikacje i biblioteki. Sklep musi być zintegrowany z GitHub lub inną platformą programistyczną, aby umożliwić pobieranie źródeł aplikacji, zgłaszanie raportów o błędach i żądania nowych funkcjonalności.
  • Niektóre podsystemy Linux muszą zostać porzucone/przerobione/utworzone od podstaw:
    • Audio (ALSA / PulseAudio);
    • Model bezpieczeństwa;
    • Serwer X.org;
    • Jądro Linux musi być mikrojądrem (bezpieczne ponowne ładowanie sterowników w przypadku awarii);
    • Renderowanie czcionek;
    • Sprzętowo przyspieszone kodowanie/dekodowanie wideo;
    • Menedżer okien (?);
    • Wspólne rozszerzalne elementy sterujące otwierania/zapisywania plików, czyli okna dialogowe, paski tytułu okna, tacę systemową, itp;
    • Pełny zestaw bogatych API do tworzenia gier;
    • Proste szyfrowane lokalne udostępnianie plików (podobne do CIFS) i wiele innych.
    Inne dystrybucje mogą istnieć, ale muszą zawierać ustawienia domyślne dystrybucji Linux One: biblioteki (API), system dźwiękowy, serwer graficzny, środowisko graficzne itp.

Windows 10 kontra Linux

Jeśli ty lub twoja firma poważnie myślisz o konsekwencjach instalacji Windows 10 i jesteś przerażony perspektywami uruchamiania systemu, który narusza twoją prywatność i pozbawia cię kontroli nad jego kluczowymi funkcjami (na przykład nie możesz oficjalnie wyłączyć telemetrii, aktualizacji, Cortany), na pewno zadajesz sobie pytanie: co powinniśmy zrobić?

Po pierwsze, jeśli korzystasz z systemu Windows 7 lub Windows 8.1, jesteś bezpieczny przynajmniej do roku 2023. Nie polecam zmiany tych systemów operacyjnych, ponieważ jestem pewien, że działają one dobrze i pewnie nie masz z nimi problemów. Szczególnie gdy masz dużą firmę, a twoje stacje robocze są zablokowane, zatem nie ma sensu migrować do czegoś nowego i niesprawdzonego.

Jeśli w tym samym czasie kupujesz i wdrażasz nowe stacje robocze, możesz rozważyć instalację Linux. W ten sposób pomożesz społeczności open source zwiększyć bazę użytkowników i ewentualnie znajdując, raportując, a nawet eliminując błędy, jeśli masz w swej organizacji programistów. Oczywiście możesz chcieć uruchomić aplikacje, która nie ma odpowiednika w Linuxie. W tym przypadku masz dwie opcje: możesz uruchomić system Windows jako maszynę wirtualną lub spróbować użyć Wine. Jest to bardzo wydajne oprogramowanie, które pozwala uruchamiać aplikacje Windows pod Linuksem z niemal taką prędkością, jakbyś uruchamiał ją w systemie Windows (czasem nawet szybszą).

© 2009-2018 Artem S. Tashkinov. Ostatnia aktualizacja 21 września 2018. Najbardziej aktualną wersję można znaleźć tutaj.

Dopuszczam zmiany i uzasadnioną krytykę. Należy jednak pamiętać, że irracjonalne komentarze pozbawione istotnych lub faktycznych informacji mogą zostać usunięte. Anonimowe komentarze są wstępnie moderowane. Mam już dość anonimowych, nienawidzących ludzi, którzy nie mają nic do powiedzenia. Poza tym włączone jest uwierzytelnianie Disqus przez Google/Twitter/Facebook, a jeśli nie masz żadnego z tych kont, przepraszam, ale nie da się dyskutować.

Nie jest to już praca w toku (jednak aktualizuję tę listę od czasu do czasu). Nie pozostaje mi nic poważniejszego.

Przepraszam za błędy gramatyczne i ortograficzne. Nie jestem native speakerem języka angielskiego. 😉 Byłoby wspaniale, gdyby ktoś sprawdził ten artykuł i przesłał mi wynik.

W przypadku martwych linków w tym artykule, możesz znaleźć ich wersje na żywo za pomocą WayBack Machine, archive.is lub przez Google, prowadząc odpowiednie tytuły stron.

O autorze: Artem S. Tashkinov, zapalony zwolennikiem ruchu i projektów Open Source. Pomógł rozwiązać wiele błędów w wielu projektach open source, takich jak jądro Linux, KDE, Wine, GCC, Midnight Commander, X.org i wiele innych. Używał Linuksa od 1999 roku.

© 2009-2018 Artem S. Tashkinov – wszelkie prawa zastrzeżone. Możesz odtworzyć dowolną część tego tekstu, ale musisz zachować autorstwo i podać link do tego dokumentu. Archiwum tej strony można znaleźć tutaj.

Proszę zwrócić uwagę, że wiele z wpisów jest nieaktualne, choć jako długoletni użytkownik Linuxa, spotkałem się z wieloma probmlemami tu opisanymi. Zresztą – nie jestam fanem żadnego z systemów i wiem, że każdy ma wady. Uważam jednak, że tego typu publiczna dyskusja może pomóc wystemowi Linux. Wyróżniłem akapity nieaktualne, bądź mało istotne w miejscach, w których zrobił to autor (ja pogrubiłem i pochyliłem, autor zmienił ich kolor). Ze względu na kontrowersyjny temat, wyłączyłem komentarze, bowiem jakn apisałem na początku, artykuł ten nie jest mojego autorstwa, ale bardzo mnie zainteresował. Autor zaprasza do dyskusji na swojej stronie oraz na forach publicznych. Przepraszam za błędy tłumaczenia. Starałem się wiernie oddać oryginalną treść, jednak usunąłem nieprzyzwoite słowa i stwierdzenia. Dodatkowo czasem lekko zmieniłem treść, by dopasować ją do polskiej mowy. Nie wpływałem jednak na przekaz. Jeśli zauważysz nieścisłość lub błąd tłumaczenia, napisz do mnie.

2932total visits,103visits today

Dodaj do zakładek Link.

Komentarze są wyłączone.