Pl/FlightGear Qt Launcher
Strona statku powietrznego programu Qt Launcher dla FlightGear 2018.2 renderowana w systemie Windows 10 | |
Data rozpoczęcia | 01/2015 |
---|---|
Opis | Zintegrowany program uruchamiający dla FlightGear |
Opiekun(owie) | James Turner |
Współtwórca(y) | James Turner |
Status | W trakcie aktywnego rozwoju |
Foldery | flightgear/flightgear/next/src/GUI |
Dziennik zmian | flightgear/flightgear/next/src/GUI log view |
Package management |
---|
Background |
Implementation |
Front Ends
|
Related efforts |
Qt Launcher to zintegrowany program uruchamiający dla FlightGeara, zastępujący FGRun w oficjalnych wydaniach od wersji 2016.4. Początkowo zaprojektowany jako rozwiązanie tymczasowe we FlightGear 3.4 dla problemu wsparcia starego FlightGear Mac Launcher, kończącego się wraz z OS X Yosemite, stał się głównym programem uruchamiającym FlightGear dla wszystkich platform i jest dostarczany ze wszystkimi oficjalnymi wydaniami FlightGear (jednak użytkownicy budujący ze źródeł mogą potrzebować osobnej konfiguracji/przebudowy FlightGeara).
Sposób użycia
Aby uruchomić Launcher:
- Microsoft Windows: kliknij podwójnie na ikonę FlightGear <wersja> na pulpicie lub z menu Start wyszukaj aplikacji FlightGear <wersja> i uruchom ją.
- macOS i Linux: otwórz terminal i uruchom
fgfs
z opcją--launcher
:$ fgfs --launcher
Należy pamiętać, że Launcher jest opcjonalny z powodów wyjaśnionych poniżej w sekcji Zależności. W rezultacie, jeśli korzystasz z systemu Linux i zainstalowałeś wersję FlightGeara dostarczoną przez twoją dystrybucję, Launcher może nie być dostępny, ponieważ twórcy pakietów mogli go nie włączyć. W takim przypadku należy poprosić dystrybucję o włączenie tej funkcji.
Włączanie wyświetlania konsoli w systemach Windows
Aby w systemie Windows włączyć wyświetlanie konsoli wraz z uruchomieniem się Launchera, kliknij prawym przyciskiem myszy skrót FlightGear na pulpicie i z menu kontekstowego wybierz Właściwości. W zakładce Skrót, w polu Element docelowy dodaj na końcu --console
i kliknij OK.
Jeśli nie potrzebujesz konsoli podczas uruchamiania Launchera a tylko podczas działania symulatora, to w Launcherze idź do zakładki Ustawienia, rozwiń sekcję Ogólne klikając na link Pokaż więcej i zaznacz opcję Pokaż konsolę debugowania.
Katalog pobierania statków powietrznych/TerraSync
Od wersji FlightGear 2016.2 lokalizacja używana przez Launcher do przechowywania pobranych statków powietrznych i scenerii TerraSync może być określona w zakładce Dodatki. Ręczne określanie katalogu pobierania TerraSync stało się zatem zbędne.[1]
Preferencje
We FlightGear 2016.2 i nowszych wersjach preferencje są przechowywane w $FG_HOME/FlightGear/FlightGear.ini na systemach uniksopodobnych, pod Windows w %UserProfile%/AppData/Roaming/flightgear.org/FlightGear/FlightGear.ini.[1] Starsze wersje korzystają z domyślnej lokalizacji używanej przez Qt:
- rejestru w systemie Microsoft Windows;
- ~/Library/Preferences na macOS;
- domyślnej lokalizacji preferencji w systemie Linux (zazwyczaj ~/.config/FlightGear/FlightGear.conf).
Preferencje można zresetować do wartości domyślnych, wybierają w Launcherze menu z trzema kropkami w górnym lewym rogi i dalej pozycję Przywróć domyślne ustawienia.... W starszych wersjach odbywało się to poprzez przytrzymanie klawisza Alt podczas uruchamiania się Launchera.[2]
Historia i status
W październiku 2014 roku Apple wydało OS X 10.10 Yosemite. Niestety, jeden z frameworków, na którym opierał się dawny FlightGear Mac Launcher, zwany RubyCocoa , został usunięty, przez co stał się niekompatybilny z OS X Yosemite. James Turner rozpoczął pracę nad rozwiązaniem dla nadchodzącej wersji 3.4. Dodał prosty wbudowany Launcher wykorzystujący bibliotekę Qt, uruchamiany przed utworzeniem głównego okna symulatora. Został on wydany wraz z FlightGear 3.4 jako funkcja tylko dla komputerów Mac.
Po FlightGear 3.4 zdecydowano, że ten tymczasowy program uruchamiający tylko dla komputerów Mac, zostanie przekształcony w zamiennik FGRun i stanie się częścią planu aktualizacji interfejsu użytkownika FlightGear. W wersji FlightGear 3.6 stał się on dostępny dla wszystkich platform i nadal był rozwijany, ulepszany i dopracowywany.
Od maja 2016 roku Qt Launcher jest aktywnie rozwijany. Obejmuje to dodawanie nowych funkcji, naprawianie błędów i udoskonalanie istniejących funkcji.
Od połowy 2016 r. interfejs użytkownika Qt jest teraz dostępny również podczas działania symulatora; wymaga to jednak wielu testów, ale statki powietrzne można instalować/zmieniać i dostosowywać lokalizację z poziomu symulatora. Po pewnym czasie symulator ulegnie awarii.[3]
Opcje, które nie działają, to takie rzeczy jak ustawianie scenerii/ścieżek statków powietrznych i pozycji początkowej, ponieważ kolidują one z wartościami przekazywanymi przez sam Launcher.[4]
Począwszy od wersji 2016.4, FGRun został usunięty z oficjalnych dystrybucji.
Kontekst
This article may require cleanup to meet the quality standards of the wiki. Please improve this article if you can. |
Ponadto, było to również motywowane mnogością zewnętrznych programów uruchamiających/frontendów GUI opracowanych przez wielu współtwórców na przestrzeni lat.[5]
Jeśli chodzi o powód zmiany, ponieważ stary Launcher był tylko dla Windowsa, a Qt5 działa również na macOS i Linux i pozwala robić rzeczy niezależnie od systemu operacyjnego, co jest naprawdę koncepcyjnie lepsze, ponieważ nie musimy zajmować się dedykowanymi kwestiami Win, Mac i Linux.[6]
James Turner (przede wszystkim) pracuje nad rozwojem wbudowanego Launchera, który ma całkowicie zastąpić FGRun. Ten nowy program uruchamiający jest już dość dojrzały, działa dobrze na każdym obsługiwanym systemie operacyjnym i jest już dostępny w bieżącej wersji. Fred B. (który był głównym programistą FGRun) nie był zaangażowany w rozwój FlightGeara od dłuższego czasu, i FGRun jest zbudowany na dość starej bibliotece GUI o nazwie "fltk". Wszelkie zmiany, które zostały wprowadzone do FGRun w ciągu ostatnich kilku lat, były łatane przez ludzi, którzy po prostu próbowali utrzymać go kulejącego wraz z nowoczesnymi aktualizacjami systemu operacyjnego, nowszymi kompilatorami, nowszymi bibliotekami OSG itp. Nadejdzie czas (prawdopodobnie dość szybko), kiedy przestaniemy wspierać, kompilować i dystrybuować FGRun wraz z FlightGearem. (FGRun oczywiście zawsze będzie istniał i każdy może go skompilować, używać i utrzymywać, jeśli chce, po prostu przestanie być dystrybuowany z podstawowym pakietem FlightGear na rzecz nowszego programu uruchamiającego).[7]
Cele długoterminowe obejmują (1) usprawnienie procesu włączania prac autorów statków powietrznych do domyślnej dystrybucji oraz (2) ułatwienie grupom takim jak FGUK integracji własnych hangarów z narzędziami do zarządzania statkami powietrznymi w Qt Launcherze. Dla deweloperów, którzy chcą wyrazić zgodę, bycie częścią domyślnej dystrybucji zapewniłoby znacznie szerszą dostępność ich pracy. Z perspektywy użytkownika końcowego zapewni to łatwy/zintegrowany sposób instalacji (i aktualizacji) statków powietrznych, którymi są zainteresowani. Autor statku powietrznego (lub zewnętrzny opiekun hangaru) może opublikować adres URL hangaru, który jest kopiowany/wklejany na stronę dodawania w Qt Launcherze, a wszystkie nowe statki powietrzne pojawiają się natychmiast. James wykonał kawał dobrej roboty po stronie Qt, aby zebrać to wszystko razem dla użytkowników końcowych. Będzie to kolejny krok naprzód w większym procesie, który opracowaliśmy jakiś czas temu.[8]
Ostatecznym celem jest ułatwienie opiekunom hangarów dystrybucji i integracji ich pracy z "nowym" Launcherem FlightGear (który istnieje już na tyle długo, że trudno go nazwać nowym). System katalogów statków powietrznych Jamesa sprawia, że wyszukiwanie, wybieranie i aktualizowanie statków powietrznych jest naprawdę łatwe i bezproblemowe dla użytkowników końcowych. Opiekunowie statków powietrznych po prostu publikują swoje pliki catalog.xml (które są generowane przez skrypt). Efektem ubocznym tego systemu jest odejście od zależności od FGAddon (lub innych jeszcze bardziej masywnych repozytoriów) i promowanie mniejszych i bardziej ukierunkowanych repozytoriów stron trzecich oraz wyższy stopień decentralizacji i skalowalności.[9]
Zobacz QtQuick use in FlightGear - główny artykuł na ten temat. |
Zgodnie z planem dla rozwoju FlightGear 4.xx, obecny interfejs graficzny FlightGear (oparty na PUI bibliotece PLIB) zostanie zastąpiony interfejsem opartym na Qt. Ponadto równolegle rozwijany będzie interfejs użytkownika oparty na przeglądarce (o nazwie Phi).[10] Spowoduje to powstanie następującego interfejsu użytkownika:
- Qt Launcher
- Wewnętrzny interfejs użytkownika oparty na integracji Qt/Canvas.
- Zewnętrzny interfejs użytkownika oparty na przeglądarce (Phi)
Należy jednak wyjaśnić, że Qt zawsze pozostanie opcjonalną zależnością.[11]
Na maj 2017, James jest nadal bardzo niezdecydowany co do tego, jakiej technologii użyć do GUI w symulatorze, jest nieco skłonny do korzystania z Canvas, ponieważ pozwala to uniknąć niektórych problemów z renderowaniem (ale ujawnia kilka innych, plus niektóre wydajnościowe), ale problem polega na tym, że James jest dość niezadowolony z GUI/widżet API w Canvas w tej chwili - nie spełnia jego wyobrażeń o tym, jak proste + solidne powinno być takie API, James musi ocenić, czy obecne API można ulepszyć, czy też należy je drastycznie zmienić. Inną kwestią jest użycie QtQuick renderowanego do OpenGL, który ma bardzo ładne, solidne i dobrze zaprojektowane API, ale dodaje pewne zależności i komplikuje architekturę renderowania, co denerwuje go w przypadku konfiguracji wielu okien i innych bardziej ezoterycznych konfiguracji OSG.[12]
Zależności
Istnieje 100% zgoda co do tego, że FlightGear nigdy nie będzie wymagał Qt[13], intencją jest dodanie zintegrowanych wygodnych funkcji, ale środowisko wiersza poleceń/powłoki nie zmieni się, a domyślny tryb "fgfs" nawet w kompilacji z obsługą Qt pozostanie niezmieniony. Musisz ustawić zmienne środowiskowe lub przekazać argument, aby uzyskać Launcher, nawet jeśli funkcja została wybrana w czasie kompilacji. Mamy tę przewagę, że wstępnie zbudowanym kompilacją na Windows i Mac, łatwo jest zapewnić dostępność Qt, a ci użytkownicy są mniej skłonni do używania wiersza poleceń niż użytkownicy Linuksa.[14]
Nawet jeśli Qt zostanie wybrane w czasie kompilacji, nadal będzie możliwe jego wyłączenie w czasie wykonywania. Jest to ważne, ponieważ /początkowo/ jest prawdopodobne, że niektóre funkcje konfiguracji okna nie będą działać podczas korzystania z Qt. Zwłaszcza opcje wielu okien umożliwiające obsługę różnych projektorów obok siebie.[15] Kiedy Launcher został wprowadzony, istniały znaczne rozbieżności w opiniach na temat tego, czy właściwe jest wymaganie zależności od Qt; główni programiści doszli do wniosku, że jest to niepożądane, chyba że ma to konkretną korzyść.[16] Ponieważ na razie Qt jest potrzebne tylko dla Launchera, zostało ono opcjonalną zależnością, a ludzie mogą nadal używać innych frontendów, jeśli chcą.
Jeśli CMake nie jest w stanie znaleźć Qt 5.1 (minimalna wymagana wersja) lub nowszej, program uruchamiający nie zostanie skompilowany[17][18] i zostanie wyświetlony następujący komunikat:
-- Qt launcher enabled, checking for Qt 5.1 / qmake
CMake Warning at CMakeLists.txt:303 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one.
Could not find a package configuration file provided by "Qt5" (requested
version 5.1) with any of the following names:
Qt5Config.cmake
qt5-config.cmake
Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files. If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Jeśli CMake wyświetla następujące ostrzeżenie, należy zainstalować qtdeclarative5-dev
Target "fgqmlui" links to target "Qt5::Quick" but the target was not found.
Od maja 2015 r. Qt Launcher jest domyślny w systemach Microsoft Windows i OS X, w przypadku Linuksa to od twórców dystrybucji zależy, czy go dołączą, czy nie.
Czy, jak i kiedy wewnętrzny interfejs graficzny może wykorzystać Qt, jest przedmiotem badań i jest w tak wczesnym stanie, że osoby odpowiedzialne wolały jeszcze niczego nie ogłaszać. Jeśli tak się stanie, zostanie to omówione na liście mailingowej.[19]
Społecznościowe instrukcje wideo
Omówienie całego Launchera
Zakładka Statki powietrzne: instalowanie, filtrowanie według ocen