私自身の質問に対する答えは:
- ユニティバージョン<7.4.0および
- Unityバージョン7.4.0のLauncher.cppおよびUnitySettings.ccp
ユニティソースパッケージから。
しかし、私の質問に対する答えを探している人は誰でも、それらのソースファイルをどうするかを知りたいと思うので、私はそれ以上に答えています。
内容:
A.自分でコンパイルする か、
B。バイナリを入手する
免責事項:まったく手掛かりがありません。これは、Unity 5.20.2の12.04、Unity 7.2.6の14.04、Unity 7.3.2の15.10、およびUnity 7.4.0の16.04でのみテストされました。
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
その後、Unityを再起動すると完了です。
1.適切なソースファイルを探す
いくつかの試行錯誤の後、変更するソースファイルが
- Launcher.cpp-> 1行追加して、ランチャーを表示しないようにします
- unityshell.cpp、DashController.cpp、HudController.cpp->ランチャーの幅をゼロに設定
4つのファイルはすべて、ソースパッケージ「unity」に含まれています。
2.ソースを入手する
私は、xserver-xorg-video-dummy-lts- {your HWE version}パッケージを手動でインストールして、Unityのbuild-depsをインストールする前に、いくつかの依存関係の問題を解決する必要がありました。
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に1行挿入します
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. unityshell.cpp、DashController.cppおよびHudController.cpp / UnitySettings.cppでランチャーの幅をゼロに設定します
ユニティ<7.4.0の場合:
エディターを使用して、unityshell.cpp、DashController.cpp、およびHudController.cppで出現するすべての「launcher_width =」を「launcher_width = 0; //」に置き換えます。
または、このコマンドを使用してください
for i in unityshell.cpp DashController.cpp HudController.cpp; do find . -iname $i -exec sed -i -e 's/launcher_width =/launcher_width =0; \/\//' {} \; ; done
Unity 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、Unity 5.20.2)を使用して、Unityのソースのバージョンを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.信頼して、バイナリを取得したい場合
バイナリと、統一バージョンとPCアーキテクチャの組み合わせを取得する場合
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
ファイル「unity_5.20.2_i386_nolauncher.deb」のみがPCでコンパイルされました。他の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/')