Складіть Unity без пускового пристрою


17

Я хотів би змінити єдності не показувати пускову (ліва сторона бар) на всіх . Я не шукаю жодного рішення, яке дало б можливість пускової установки бути помітною. Я дуже хочу, щоб він повністю зник. Це подарунок для мого нареченого, і я хочу досягти максимально можливого фактора прийняття жінки для свого ноутбука Linux, на якому працює док-док із вигадливими значками, які дозволяють виглядати як з тієї відомої та фруктової компанії.

Будь-які підказки щодо того, які пакунки та які вихідні файли я повинен вивчити?

Я сподіваюся, що це буде так просто, як коментувати рядок з "jedin.launcher.show ()" і перекомпілювати :-)

Дякую!


Вам справді потрібна єдність, якщо ні є дистрибутиви Ubuntu, схожі на яблука, вам потрібно зняти прапорець: show-fileystem, -home тощо з редактора налаштувань !! і ви готові йти!
Кен Моллеруп

Відповіді:


20

Відповідь на моє власне питання:

  • Launcher.cpp, юниshell.cpp, DashController.cpp і HudController.cpp для єдності версії <7.4.0 і
  • Launcher.cpp та UnitySettings.ccp для єдності версії 7.4.0

з пакета джерела єдності.

Але я відповідаю на це більше, оскільки всі, хто шукає відповідь на моє запитання, також будуть зацікавлені в тому, щоб знати, що робити з цими вихідними файлами.

Зміст:
A. Складіть самостійно або
B. Отримайте двійкове

Відмова: Я не маю поняття ВСЕ, і це було перевірено лише 12.04 з єдністю 5.20.2, 14.04 з єдністю 7.2.6, 15.10 з одиницею 7.3.2, а 16.04 з єдністю 7.4.0

A. Складіть Unity, щоб не показувати пускову установку

введіть тут опис зображення

0. За нетерплячість

Цей сценарій повинен працювати принаймні протягом 12.04, 14.04 та 15.10. Просто залиште коментар наприкінці:

#!/bin/bash
mkdir temp-build-dir; cd temp-build-dir
export HWE=$(dpkg-query -l xserver*-lts-* | grep ^ii  | cut -d" " -f3 | rev | cut -d- -f1 | rev | sort -u)
sudo apt-get install unity xserver-xorg-video-dummy-lts-$HWE
sudo apt-get build-dep unity
sudo apt-get install apt-show-versions devscripts dpkg-dev fakeroot nano
apt-get source unity
cd unity-*
# you can leave the comment field in the changelog empty but dont forget to save the file
EDITOR=nano debchange --newversion $(apt-show-versions unity | cut -d " " -f2) 
find . -iname Launcher.cpp -exec sed -i -e '1,/void Launcher::DrawContent(nux::GraphicsEngine/b' -e '0,/{/s//{\nreturn;/' {} \;
# for unity 7.4.0 comment out this for statement and read the explanation Nr. A.4
for i in unityshell.cpp DashController.cpp HudController.cpp; do  
    find . -iname $i -exec sed -i -e  's/launcher_width =/launcher_width =0; \/\//' {} \; 
done
dpkg-buildpackage -rfakeroot -d -us -uc -b
sudo dpkg -i ../unity_*.deb
# For 12.04 use:
# gconftool --type Integer --set /apps/compiz-1/plugins/unityshell/screen0/options/launcher_hide_mode 1
# For 14.04 use:
# dconf write "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode" 1

Потім перезапустіть єдність і все закінчиться.

1. Шукайте потрібні вихідні файли

Після деяких проб і помилок я з'ясував, що вихідні файли є змінами

  • Launcher.cpp -> додайте один рядок, щоб більше не показувати запуск
  • Ujedinjeshell.cpp, DashController.cpp і HudController.cpp -> встановити ширину пускового пристрою на нуль

Усі чотири файли містяться у вихідному пакеті "єдність".

2. Добери джерела

Мені довелося встановити пакет xserver-xorg-video-dummy-lts- {ваша версія HWE} вручну, щоб виконати деякі проблеми залежності, перш ніж я міг встановити накопичувачі для єдності:

sudo apt-get install xserver-xorg-video-dummy-lts-{put your HWE name here}

Ви можете знайти ім'я (версію) вашого HWE за допомогою цієї команди:

dpkg-query -l xserver*-lts-* | grep ^ii  | cut -d" " -f3 | rev | cut -d- -f1 | rev | sort -u

Після цього решта працювали:

sudo apt-get build-dep unity
apt-get source unity
cd unity-*

3. Помістіть один рядок у Launcher.cpp

find . -iname launcher.cpp -exec gedit {} \;

Шукайте функцію "void Launcher :: DrawContent (nux :: GraphicsEngine & GfxContext, bool force_draw)" і поставте "return;" просто в його організмі починається так:

void Launcher::DrawContent(nux::GraphicsEngine& GfxContext, bool force_draw)
{
  return; //dont show launcher anymore
  ...

Цього достатньо, щоб більше не показувати пускову установку. Але дефіс і хад залишать місце для пускової установки з лівого боку екрана невикористаним.

4. Встановіть ширину запуску на нуль у uneshell.cpp, DashController.cpp і HudController.cpp / UnitySettings.cpp

Для єдності <7.4.0:

Використовуйте редактор, щоб замінити всі випадки "launcher_width =" на "launcher_width = 0; //" в Jedinsthell.cpp, DashController.cpp і HudController.cpp.
Або просто скористайтеся цією командою

for i in unityshell.cpp DashController.cpp HudController.cpp; do find . -iname $i -exec sed -i -e  's/launcher_width =/launcher_width =0; \/\//' {} \; ; done

Для єдності 7.4.0:

Знайдіть файл UnitySettings.cpp та замініть повернене значення наприкінці LauncherSize таким чином:

int Settings::LauncherSize(int monitor) const
{
  if (monitor < 0 || monitor >= (int)monitors::MAX)
  {
    LOG_ERROR(logger) << "Invalid monitor index: " << monitor << ". Returning 0.";
    return 0;
  }

  return 0; // pimpl->launcher_sizes_[monitor];
}

Це потрібно лише в тому випадку, якщо ви хочете, щоб тире відображалося в лівій частині екрана, без будь-якого поля, яке було б використане пусковим пристроєм.

5. Встановіть правильну версію в журналі змін

У моєму випадку (12.04, єдність 5.20.2) мені довелося змінити версію джерела єдності з 5.20 на 5.20.2, використовуючи

EDITOR=nano debchange --newversion $(apt-show-versions unity | cut -d " " -f2) 

перед компілюванням, щоб уникнути зламаних залежностей при установці. Не забудьте зберегти файл.

6. Складіть і встановіть

Потім я перекомпілював, використовуючи це:

dpkg-buildpackage -rfakeroot -d -us -uc -b

Встановлено новий пакет:

sudo dpkg -i ../unity_*.deb

(Наскільки я бачу і тестую це, єдиний файл, який насправді потрібен, - це єдиний файл)

find . -name libunityshell.so | grep unity/usr/lib/compiz/libunityshell.so

Заміни /usr/lib/compiz/libunityshell.so цим новим має бути достатньо, але якщо ви хочете бути впевненим, просто встановіть новий пакет єдності, як написано вище.)

7. Встановіть пусковий механізм на автоматичне приховання

# For 12.04:
gconftool --type Integer --set /apps/compiz-1/plugins/unityshell/screen0/options/launcher_hide_mode 1
# For 14.04:
dconf write "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode" 1

Це воно. Переповнене єдність і пускова установка пішли!


B. У випадку, якщо ви віддаєте перевагу довірі і просто отримаєте двійкове

Якщо ви віддаєте перевагу отримати бінарне і ваше поєднання версії єдності та архітектури ПК

unity --version
getconf LONG_BIT

їх можна знайти нижче, просто завантажте потрібний пакет

32 біт

64 біт

і перевірити файл deb після завантаження

md5sum unity_*.deb

Результат повинен бути одним із таких

0a5f7fc9255262e5803656d83f84f7c5  unity_5.20.0-0ubuntu3_amd64_nolauncher.deb
717dc41f4cad6410c997e1014f5f3f1d  unity_5.20.0-0ubuntu3_i386_nolauncher.deb
594eb8b87f8a56697865c051c4db5073  unity_5.20.2_i386_nolauncher.deb
8ed070afa4d7d6da8222d03b8ad5ebf3  unity_7.2.6+14.04.20160408-0ubuntu1_amd64_nolauncher.deb
abd32e40e8a10bd603b9fc44014cb179  unity_7.2.6+14.04.20151021-0ubuntu1_i386_nolauncher.deb
43c56b889028bf368da01780c0a099b9  unity_7.3.2+15.10.20151016-0ubuntu1_amd64_nolauncher.deb
64474d1a8280ed4113d748a57422ddcc  unity_7.3.2+15.10.20151016-0ubuntu1_i386_nolauncher.deb
4fecdb9b4f590e00609baa3b98f55cc0  unity_7.4.0+16.04.20160715-0ubuntu1_amd64_nolauncher.deb

Потім встановіть пакет

sudo dpkg -i unity_*.deb

встановіть пускач для автоматичного приховування та перезапуску єдності. Це воно!

Якщо щось піде не так, і єдність не розпочнеться:

sudo apt-get install --reinstall unity

Але якщо все працює, можливо, ви захочете не допустити оновлення нового пакету:

echo "unity hold" | sudo dpkg --set-selections


На моєму комп'ютері був скомпільований лише файл "unit_5.20.2_i386_nolauncher.deb". Інші файли дебютів були зроблені на так званих "хмарних комп'ютерах" (оскільки машинні приміщення виглядають так, як хмари ...) з використанням цієї варіації сценарію:

#!/bin/bash
sudo apt-get update
sudo apt-get -y dist-upgrade 
sudo apt-get -y build-dep unity
sudo apt-get -y install unity devscripts dpkg-dev fakeroot nano
mkdir temp-build-dir; cd temp-build-dir
rm -r unity-*
apt-get source unity
cd unity-*
find . -iname Launcher.cpp -exec sed -i -e '1,/void Launcher::DrawContent(nux::GraphicsEngine/b' -e '0,/{/s//{\nreturn;/' {} \;
# for unity 7.4.0 comment out this for statement and read the explanation Nr. A.4
for i in unityshell.cpp DashController.cpp HudController.cpp; do  
    find . -iname $i -exec sed -i -e  's/launcher_width =/launcher_width =0; \/\//' {} \; 
done
dpkg-buildpackage -rfakeroot -d -us -uc -j2 -b
cp ../unity_*.deb ../$(echo ../unity_*.deb | sed -e  's/.deb$/_nolauncher.deb/')

1
Добре, ви можете сказати, що ваш компільований файл .so 32-розрядний, тому будь-які зацікавлені 64-бітні користувачі не кусаються неправильним ELF
дог

1
Приємна робота JLTD, мені подобається, що користувачі докладають зусиль, щоб відповісти на власне питання. Баунті надасть вам більше доступу до сайту. (Я повинен почекати 24 години). До речі, ви можете поглянути на це невирішене питання askubuntu.com/q/165888/26246 , йому потрібен лише HUD, і я вважаю, що Unity може бути побудований як окремий (а не як плагін compiz). Повідомте мене, якщо ви маєте якусь ідею, я підніму
суму

@JLTD Цей файл видаляється з сервера. чи можете ви завантажте його ще раз. Я новачок в Linux, тому мені стає важко вибрати варіант A
burhanuddin abbas
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.