Chciałbym zmodyfikować jedność nie pokazać wyrzutnię (lewa strona), bar w ogóle . Nie szukam żadnego rozwiązania, które pozwoliłoby w niektórych przypadkach wyświetlić program uruchamiający. Naprawdę chcę, żeby to całkowicie zniknęło. Jest to prezent dla mojego narzeczonego i chcę osiągnąć najwyższy możliwy współczynnik akceptacji kobiety dla jej laptopa z systemem Linux, który jest wyposażony w dok z fantazyjnymi ikonami, które sprawiają, że wygląda jak ta znana i owocowa firma.
Wszelkie wskazówki dotyczące tego, które pakiety i jakie pliki źródłowe powinienem studiować?
Mam nadzieję, że będzie to tak proste, jak skomentowanie wiersza za pomocą „unity.launcher.show ()” i rekompilacja :-)
Dziękuję Ci!
Odpowiedzi:
Odpowiedź na moje pytanie brzmi:
z pakietu źródłowego Unity.
Ale odpowiadam na więcej, ponieważ każdy, kto szuka odpowiedzi na moje pytanie, będzie również zainteresowany tym, co zrobić z tymi plikami źródłowymi.
Zawartość:
A. Skompiluj siebie lub
B. Pobierz plik binarny
Zastrzeżenie: W ogóle nie mam pojęcia i zostało to przetestowane tylko 12.04 z jednością 5.20.2, 14.04 z jednością 7.2.6, 15.10 z jednością 7.3.2 i 16.04 z jednością 7.4.0
A. Skompiluj Unity, aby nie wyświetlać programu uruchamiającego
0. Za niecierpliwość
Ten skrypt powinien działać przynajmniej dla 12.04, 14.04 i 15.10. Po prostu odkomentuj na końcu w razie potrzeby:
Następnie uruchom ponownie jedność i gotowe.
1. Wyszukaj odpowiednie pliki źródłowe
Po kilku próbach i błędach dowiedziałem się, że pliki źródłowe do zmiany to
Wszystkie cztery pliki są zawarte w pakiecie źródłowym „jedność”.
2. Uzyskaj źródła
Musiałem ręcznie zainstalować pakiet xserver-xorg-video-dummy-lts- {twoja wersja HWE}, aby rozwiązać niektóre problemy z zależnościami, zanim będę mógł zainstalować build-deps dla jedności:
Możesz znaleźć nazwę (wersję) swojego HWE za pomocą tego polecenia:
Następnie reszta działała:
3. Umieść jedną linię w Launcher.cpp
Poszukaj funkcji „void Launcher :: DrawContent (nux :: GraphicsEngine & GfxContext, bool force_draw)” i wstaw „return;” właśnie na początku swojego ciała zaczyna się tak:
To wystarczy, aby już nie wyświetlać programu uruchamiającego. Ale kreska i ekran nadal pozostawiają wolne miejsce dla wyrzutni po lewej stronie ekranu.
4. Ustaw szerokość programu uruchamiającego na zero w unityshell.cpp, DashController.cpp i HudController.cpp / UnitySettings.cpp
Dla jedności <7.4.0:
Za pomocą edytora zamień wszystkie wystąpienia „launcher_width =” na „launcher_width = 0; //” w unityshell.cpp, DashController.cpp i HudController.cpp.
Lub po prostu użyj tego polecenia
Dla jedności 7.4.0:
Znajdź plik UnitySettings.cpp i zamień wartość zwracaną na końcu Launchera w następujący sposób:
Jest to potrzebne tylko wtedy, gdy chcesz, aby kreska była wyświetlana po lewej stronie ekranu, bez marginesu, który byłby używany przez program uruchamiający.
5. Ustaw odpowiednią wersję w dzienniku zmian
W moim przypadku (12.04, jedność 5.20.2) musiałem zmienić wersję źródła jedności z 5.20 na 5.20.2 za pomocą
przed kompilacją, aby uniknąć zerwania zależności podczas instalacji. Nie zapomnij zapisać pliku.
6. Skompiluj i zainstaluj
Następnie skompilowałem przy użyciu tego:
Zainstalowałem nowy pakiet:
(O ile mogę to zobaczyć i przetestować, jedynym faktycznie potrzebnym plikiem jest
Zastąpienie /usr/lib/compiz/libunityshell.so tym nowym powinno wystarczyć, ale jeśli chcesz mieć pewność, zainstaluj nowy pakiet jedności, jak napisano powyżej.)
7. Ustaw program uruchamiający na automatyczne ukrywanie
Otóż to. Ponownie uruchomiłem jedność i program uruchamiający zniknął!
B. W przypadku, gdy wolisz zaufać i po prostu zdobyć plik binarny
Jeśli wolisz pobrać plik binarny i kombinację wersji Unity i architektury PC
można znaleźć poniżej, wystarczy pobrać odpowiedni pakiet
32bit
64bit
i sprawdź plik deb po pobraniu
Wynik powinien być jednym z nich
Następnie zainstaluj pakiet
ustaw program uruchamiający na automatyczne ukrywanie i zrestartuj jedność. Otóż to!
W przypadku, gdy coś pójdzie nie tak i jedność się nie rozpocznie:
Ale jeśli wszystko działa, możesz uniemożliwić aktualizację nowego pakietu:
Tylko plik „unity_5.20.2_i386_nolauncher.deb” został skompilowany na moim komputerze. Inne pliki deb zostały utworzone na tak zwanych „komputerach w chmurze” (ponieważ maszynownie wyglądają tak jak chmury ...) przy użyciu tej odmiany skryptu:
źródło