Компилировать Unity без запуска

Я хотел бы изменить единство, чтобы не показывать панель запуска (левая панель) вообще . Я не ищу никакого решения, которое позволяло бы запускать в некоторых случаях видимым. Я действительно хочу, чтобы он полностью исчез. Это подарок для моего жениха, и я хочу достичь максимально возможного коэффициента принятия женщины для ее ноутбука linux, который работает пристыкованную док-станцию ​​с причудливыми значками, которые делают его похожим на то, что из этой известной и фруктовой компании.

Любые подсказки о том, какие пакеты и какие исходные файлы я должен изучить?

Я надеюсь, что это будет так же просто, как комментировать строку с "unity.launcher.show ()" и перекомпилировать: -)

Спасибо!

17 голосов | спросил JLTD 11 Jpm1000000pmMon, 11 Jan 2016 19:29:10 +030016 2016, 19:29:10

1 ответ


20

Ответ на мой вопрос:

  • Launcher.cpp, unityshell.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

а. Скомпилировать Unity, чтобы не показывать пусковую установку

введите изображение здесь »> </a> </p>

<p> <strong> 0. Для нетерпения </strong> </p>

<p> Этот скрипт должен работать как минимум для 12.04, 14.04 и 15.10. Просто раскомментируйте в конце по мере необходимости: </p>

<pre><code>---- +: = 0 = + ----</code></pre>

<p> Затем перезапустите единицу, и все готово.
<br> <br> </p>

<p> <strong> 1. Найдите правильные исходные файлы </strong> </p>

<p> После некоторых проб и ошибок я обнаружил, что исходные файлы, которые нужно изменить, </p>

<ul>
<li> Launcher.cpp -> добавьте одну строку, чтобы больше не показывать пусковую установку </li>
<li> unityshell.cpp, DashController.cpp и HudController.cpp -> установите ширину пусковой установки на нуль </li>
</ul>
<p> Все четыре файла содержатся в исходном пакете «Единство». </p>

<p> <strong> 2. Получить источники </strong> </p>

<p> Мне пришлось установить пакет xserver-xorg-video-dummy-lts- {ваша версия HWE} вручную, чтобы выполнить некоторые проблемы с зависимостями, прежде чем устанавливать сборки для единства: </p>

<pre><code>---- +: = 1 = + ----</code></pre>

<p> Вы можете найти имя (версию) вашего HWE с помощью этой команды: </p>

<pre><code>---- +: = 2 = + ----</code></pre>

<p> После этого остальные работали: </p>

<pre><code>---- +: = 3 = + ----</code></pre>

<p> <strong> 3. Поместите одну строку в Launcher.cpp </strong> </p>

<pre><code>---- +: = 4 = + ----</code></pre>

<p> Ищите функцию «void Launcher :: DrawContent (nux :: GraphicsEngine & GfxContext, bool force_draw)» и поставьте «return;» как раз на его тело начинаются вот так: </p>

<pre><code>---- +: = 5 = + ----</code></pre>

<p> Этого достаточно, чтобы больше не показывать пусковую установку. Но тире и хед останутся на месте, чтобы пусковая установка в левой части экрана не использовалась. </p>

<p> <strong> 4. Установите ширину пусковой установки в ноль в единицах .shell.cpp, DashController.cpp и HudController.cpp /UnitySettings.cpp </strong> </p>

<p> <strong> Для единства <7.4.0: </STRONG> </p>

<p> Используйте редактор, чтобы заменить все вхождения «launcher_width =» на «launcher_width = 0; //» в unityshell.cpp, DashController.cpp и HudController.cpp. <br> Или просто используйте эту команду </p>

<pre><code>---- +: = 6 = + ----</code></pre>

<p> <strong> Для единства 7.4.0: </strong> </p>

<p> Найдите файл UnitySettings.cpp и замените возвращаемое значение в конце LauncherSize следующим образом: </p>

<pre><code>---- +: = 7 = + ----</code></pre>

<p> Это необходимо, только если вы хотите, чтобы тире отображалось прямо в левой части экрана без каких-либо полей, которые были бы использованы при запуске. </p>

<p> <strong> 5. Установите правильную версию в списке изменений </strong> </p>

<p> В моем случае (12.04, единство 5.20.2) мне пришлось изменить версию источника единицы из 5.20 до 5.20.2, используя </p>

<pre><code>---- +: = 8 = + ----</code></pre>

<p> перед компиляцией, чтобы избежать сбоев при установке. Не забудьте сохранить файл. </p>

<p> <strong> 6. Скомпилируйте и установите </strong> </p>

<p> Затем я перекомпилировал, используя это: </p>

<pre><code>---- +: = 9 = + ----</code></pre>

<p> Установлен новый пакет: </p>

<pre><code>---- +: = 10 = + ----</code></pre>

<p> (Насколько я могу это проверить и проверить, единственный необходимый файл - </p>

<pre><code>---- +: = 11 = + ----</code></pre>

<p> Замена/usr/lib/compiz/libunityshell.so с этим новым должно быть достаточно, но если вы хотите быть уверены, что просто установите новый пакет единства, как указано выше.) </p>

<p> <strong> 7. Установите автозагрузчик для запуска </strong> </p>

<pre><code>---- +: = 12 = + ----</code></pre>

<p> Вот и все. Перезапущенное единство и пусковая установка ушли! </p>

<p> <br> <strong> B. Если вы предпочитаете доверять и просто получаете двоичный </strong> </p>

<p> Если вы предпочитаете получать двоичный код и комбинацию версии единства и архитектуры ПК </p>

<pre><code>---- +: = 13 = + ----</code></pre>

<p> можно найти ниже, просто скачайте правильный пакет </p>

<p> <strong> 32bit </STRONG> </p>

<ul>
<li> <a href= unity_5.20.0-0ubuntu3_i386_nolauncher.deb

  • unity_5.20.2_i386_nolauncher.deb
  • unity_7.2.6 + 14.04.20151021-0ubuntu1_i386_nolauncher.deb
  • unity_7.3.2 + 15.10.20151016-0ubuntu1_i386_nolauncher.deb
  • 64bit

    и проверьте файл deb после загрузки

    #!/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
    

    Результатом должен быть один из этих

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

    Затем установите пакет

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

    Но если все работает, вы можете запретить обновление нового пакета:

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


    На моем ПК был скомпилирован только файл «unity_5.20.2_i386_nolauncher.deb». Другие файлы deb были сделаны на так называемых «облачных компьютерах» (поскольку машинные комнаты выглядят так же, как облака ...), используя этот вариант сценария:

    void Launcher::DrawContent(nux::GraphicsEngine& GfxContext, bool force_draw)
    {
      return; //dont show launcher anymore
      ...
    
    ответил JLTD 19 Jam1000000amTue, 19 Jan 2016 00:47:06 +030016 2016, 00:47:06

    Похожие вопросы

    Популярные теги

    security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132