১০ ফেব্রুয়ারী, ২০১১

উবুন্টুতে GTK এপ্লিকেশনের থিম সংক্রান্ত সমস্যা ও সমাধান

আপনি যদি এই ব্লগের নতুন পাঠক হন আর পরবর্তী সকল নতুন পোস্ট দ্রুত পেতে চান
তাহলে সাবস্ক্রাইব করুন RSS Feed !
আমার এই পোস্টটি উবুন্টুর জন্য লিখলেও যারা ওপেনসুয্যে, ফেডোরা বা অন্যান্য ডিস্ট্রো ব্যবহার করছেন এবং এধরনের সমস্যায় পড়েছেন তাদের ক্ষেত্রেও কার্যকর। উবুন্টুতে যারা কেডিই ও গ্নোম দুটি ডেক্সটপ এনভায়রনমেন্ট একত্রে ব্যবহার করছেন এই সমস্যাটি তারা নিশ্চয় দেখে থাকবেন। যারা শুধু কেডিই বা শুধু গ্নোম ডেক্সটপ ব্যবহার করেন এই সমস্যাটি তাদের ক্ষেত্রে প্রযোজ্য নয়।
আপনারা যারা উবুন্টুতে গ্নোম ও কেডিই দুটি ডেক্সটপ একত্রে ব্যবহার করেন তারা নিশ্চয় খেয়াল করছেন আপনি গ্নোমে যে থিমটি ব্যবহার করেন কেডিইতে GTK এপ্লিকেশন (যেমন- রিদমবক্স, টোটেম, পিজিন ইত্যাদি) চালানোর সময় সেই একই থিমটি ব্যবহৃত হয়। কিন্তু গ্নোম ও কেডিই দুটি সম্পূর্ণ ভিন্ন এনভায়রনমেন্ট, ফলে গ্নোমে ব্যবহৃত থিম অনেক সময়ই দেখা যায় কেডিইতে সুন্দর দেখায় না বা কেডিই এর সাথে খাপ খায় না।
ফলে কেডিইতে GTK এপ্লিকেশনগুলোর জন্য কেডিই এর সাথে খাপ খায় এমন কোন থিম ব্যবহার করলে সুন্দর দেখায় (যেমন- Clearlooks বা QtCurve)। কেডিইতে এসব এপ্লিকেশনের থিম পরিবর্তনের জন্য অনেকেই gtk-chtheme নামক প্যাকেজটি ব্যবহার করে থাকেন, এছাড়া কেডিই এর সিস্টেম সেটিংস থেকে Look & Feel--->GTK+ Appearance থেকেও অনেকে থিম চেঞ্জ করে থাকেন।কিন্তু এভাবে করার পর কি হয় দেখেছেন কি?
আপনি গ্নোম ডেক্সটপে বুট করে দেখবেন আপনার গ্নোমে সেট করে দেওয়া থিমটি পরিবর্তন হয়ে কেডিইতে সেট করে দেওয়া থিমটি চলে এসেছে! যা অনেক সময় আপনার বিরক্তির কারন হতে পারে। এখন আপনি চাইবেন এমন কিছু যাতে আপনি গ্নোমে আপনার পছন্দমত থিম সেট করতে পারেন এবং কেডিইতেও আপনার পছন্দমত আলাদা কোন থিম (যেটি কেডিই এর সাথে খাপ খায়) সেট করতে পারেন। আমার এই পোস্টে আমি চেষ্টা করবো এই সমস্যাটির একটি সমাধান উপস্থাপন করার যাতে আপনি দুই ভিন্ন ডেক্সটপে দুটি ভিন্ন থিম ইউজ করতে পারেন।
এই সমস্যাটি অনেকদিন যাবত আমাকেও বেশ ভুগিয়েছে এবং অবশেষে এর একটি সমাধান পেতে সমর্থ হয়েছি। আসুন দেখা যাক কিভাবে এটি করবেন-

১. প্রথমে আপনাকে ইন্সটল করতে হবে কমান্ডলাইন ভিত্তিক ছোট একটি টুল যেটি GTK এর থিম পরিবর্তনে সাহায্য করবে, ছোট হলেও এই টুলটি বেশ কাজের-
sudo apt-get install gtk-theme-switch
এই প্যাকেজটি দিয়ে থিম পরিবর্তনের জন্য কমান্ড হলো-
gtk-theme-switch2 /usr/share/themes/<theme_name>
থিম নামের জায়গায় দিবেন থিমের নাম, যেমন- QtCurve।

২. এবার আপনাকে ছোট একটি ব্যাশ স্ক্রিপ্ট লিখতে হবে যেটি আপনার চলমান ডেক্সটপ এনভায়রনমেন্ট যাচাই করে সেই অনুসারে আপনার পছন্দমত GTK থিম সেট করবে আপনার সিস্টেমের জন্য। আপনি gedit/kate বা অন্য কোন টেক্সট এডিটর ওপেন করে নিচের মত লাইনগুলো লিখুন (এখানে কেডিই এর জন্য দিলাম)-

#!/bin/bash

# check to see if kdm is running
pidof kdm

#if so, change GTK theme to Qt
if [ $? -eq 0 ]; then
gtk-theme-switch2 /usr/share/themes/QtCurve
exit 0
fi


এবার আপনি ফাইলটি সেভ করুন যেকোন নাম দিয়ে .sh  এক্সটেনশনসহ (যেমন ধরুন- theme.sh)। এবার উক্ত ফাইলটি সেভ করুন /home/<user_name>/.kde/Autostart ফোল্ডারে, ফলে কেডিই ডেক্সটপ চালু হওয়ার সময় এই স্ক্রিপ্টটি অটোমেটিক রান করবে।

৩. এবার আপনাকে স্ক্রিপ্টটি এক্সিকিউটেবল করতে হবে, এজন্য টার্মিনালে নিচের কমান্ডটি দিন-
chmod +x /home/<user_name>/.kde/Autostart/<file_name.sh>
ব্যস! এবার কাজ শেষ হয়ে গেলো, এবার আপনি লগআউট করে আবার লগইন করে কেডিইতে বুট করুন, দেখবেন GTK এপ্লিকেশনগুলোর থিম পরিবর্তন হয়ে আপনার সেট করে দেওয়া থিমটি চলে এসেছে।

৪. এবার আপনি গ্নোমে বুট করলে দেখবেন সেখানেও একইভাবে কেডিইতে সেট করে দেওয়া থিমটি চলে এসেছে, কিন্তু ঘাবড়ানোর কিছু নেই, উপরে দেওয়া স্ক্রিপ্টের অনুকরণে গ্নোমের জন্যও একটি স্ক্রিপ্ট লিখে ফেলতে পারেন যেটি গ্নোম ডেক্সটপ চালু হলে গ্নোমের জন্য আপনার পছন্দমত আলাদা কোন থিম সেট করে দিবে। এবার সেটি যুক্ত করে দিন গ্নোমের স্টার্টআপে আর দেখুন কি হয়!

৫. আপনি যদি এই দুটি ছাড়া আলাদা কোন ডেক্সটপ এনভায়রনমেন্ট (Xfce, LXDE ইত্যাদি) ব্যবহার করে থাকেন তাহলে সেগুলোর জন্যও প্রয়োজনমত থিম সহ স্ক্রিপ্ট লিখতে পারেন উপরে বর্ণিত পদ্ধতি অনুযায়ী।

তাহলে দেখলেন কত সহজেই GTK এপ্লিকেশনের থিম সংক্রান্ত সমস্যাটির সমাধান করা যায়, আপনি যদি অন্যকোন ডিস্ট্রো ব্যবহার করে থাকেন ও সেখানেও এধরনের সমস্যা দেখে থাকেন তাহলে একই পদ্ধতি সেখানেও প্রয়োগ করতে পারেন সহজেই।

2 মন্তব্য:

Unknown বলেছেন...

দারুণ একটা টিউট, এরকম আরো লেখা চাই।

অভি বলেছেন...

ধন্যবাদ আপনাকে। আশাকরি সামনে উবুন্টুর পাশাপাশি ওপেনসুয্যে নিয়েও লিখতে পারবো।

মন্তব্যে ইমোটিকন ব্যবহারের জন্য ইমোটিকনের পাশের কোডটি আপনার কি-বোর্ডের সাহায্যে টাইপ করুনঃ
:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

একটি মন্তব্য পোস্ট করুন