আমার নিজের প্রশ্নের উত্তরটি হ'ল:
- Unityক্যের সংস্করণ <7.4.0 এবং লুঞ্চার.সি.পি., ইউনিটিশেল সি.পি.পি., ড্যাশকন্ট্রোলার সিপ্পি এবং হডকন্ট্রোলার.cpp
- Unityক্যের সংস্করণ 7.4.0 এর জন্য লঞ্চার.সি.পি এবং ইউনিটিসেটিংস.সি.পি.
unityক্য উত্স প্যাকেজ থেকে।
তবে আমি এর চেয়ে বেশি উত্তর দিচ্ছি যেহেতু আমার প্রশ্নের উত্তর খুঁজছেন সবাই সেই উত্স ফাইলগুলির সাথে কী করবেন তা জানার আগ্রহী হবে।
বিষয়বস্তু:
A. নিজেকে কম্পাইল করুন বা
বি বাইনারি পান
দাবি অস্বীকার: আমার সকলের কোনও ধারণা নেই এবং এটি কেবলমাত্র ১২.০৪-তে 5.ক্য 5..০.২.২০১.0, ১৪.০৪ তারিখে unityক্যের .2.২. with, .ক্যের .3.৩.২ এবং ১৫.০৪-তে unityক্যের .4.৪.০ নিয়ে পরীক্ষা করা হয়েছিল
উ: লঞ্চটি না দেখানোর জন্য ityক্য সংকলন করুন
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 -> আর লঞ্চটি না দেখানোর জন্য একটি লাইন যুক্ত করুন
- sheক্য শেল.cpp, ড্যাশকন্ট্রোলার সিপিপি এবং হডকন্ট্রোলার সিপিপি -> লঞ্চারের প্রস্থটি শূন্যে সেট করুন
চারটি ফাইলই সোর্স প্যাকেজ "unityক্য" এ রয়েছে।
2. উত্স পান
Unityক্যের জন্য বিল্ড-ডিপগুলি ইনস্টল করতে সক্ষম হওয়ার আগে কিছু নির্ভরতার সমস্যাগুলি মেটানোর জন্য আমাকে নিজের প্যাকেজ 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-*
৩. লঞ্চার.পিপিতে একটি লাইন রাখুন
find . -iname launcher.cpp -exec gedit {} \;
"অকার্যকর লঞ্চার :: ফাংশনটি দেখুন: ড্রউকন্টেন্ট (নাকস :: গ্রাফিকস ইঞ্জিন এবং জিএফএক্সকন্টেক্সট, বুল ফোর্স_ড্রে)" এবং "রিটার্ন" দিন; ঠিক এর শরীরের শুরুতে এইভাবে:
void Launcher::DrawContent(nux::GraphicsEngine& GfxContext, bool force_draw)
{
return; //dont show launcher anymore
...
এটি আর লঞ্চটি না দেখানোর জন্য যথেষ্ট। তবে ড্যাশ এবং হডটি অব্যবহৃত পর্দার বাম দিকে ল্যাঞ্চারের জন্য জায়গাটি ছেড়ে দেবে।
৪. ইউনিটিশেল সিপিপি, ড্যাশকন্ট্রোলার সিপ্পি এবং হডকন্ট্রোলার সিপিপি / ইউনিটিসেটিংস সি পি পি-তে লঞ্চারের প্রস্থটি শূন্যে সেট করুন
Unityক্যের জন্য <7.4.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:
ইউনিটিসেটেটিংস সিপিপি ফাইলটি সন্ধান করুন এবং লঞ্চারসাইজের শেষে রিটার্ন মানটি এটির মতো প্রতিস্থাপন করুন:
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. চেঞ্জলগে সঠিক সংস্করণ সেট করুন Set
আমার ক্ষেত্রে (১২.০৪, unityক্য 20.২০.২) আমাকে unityক্যের উত্সের সংস্করণটি ৫.২০ থেকে ৫.২০.২ এ পরিবর্তন করতে হয়েছিল
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/libuneshell.so প্রতিস্থাপন করা যথেষ্ট হওয়া উচিত, তবে আপনি যদি নিশ্চিত হতে চান তবে উপরের লিখিতভাবে কেবল নতুন unityক্য প্যাকেজটি ইনস্টল করুন))
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
এটাই. পুনরায় চালু করা artedক্য এবং লঞ্চার চলে গেল!
বি ক্ষেত্রে আপনি বিশ্বাস করতে চান এবং কেবল বাইনারি পান
আপনি যদি বাইনারি এবং আপনার unityক্য সংস্করণ এবং পিসি আর্কিটেকচারের সংমিশ্রণ পেতে পছন্দ করেন
unity --version
getconf LONG_BIT
নীচে পাওয়া যাবে, কেবল সঠিক প্যাকেজ ডাউনলোড করুন
32bit
64bit
এবং ডাউনলোডের পরে দেব ফাইলটি পরীক্ষা করুন
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
স্বতঃ-লুকানো এবং একতা পুনরায় চালু করতে লঞ্চারটি সেট করুন। এটাই!
যদি কিছু ভুল হয়ে যায় এবং unityক্য শুরু না হয়:
sudo apt-get install --reinstall unity
তবে যদি সবকিছু কাজ করে তবে আপনি নতুন প্যাকেজটি আপডেট হওয়া থেকে বিরত রাখতে পারেন:
echo "unity hold" | sudo dpkg --set-selections
আমার পিসিতে কেবল "اتحاد_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/')