নটিলাসের সাথে আমি একটি সমস্যার মুখোমুখি হয়েছি যার জন্য উত্স কোডটি ডাউনলোড করা, কিছু পরিবর্তন করা এবং এটি নিজেই সংকলন করা ছাড়া আমি আর কোনও সমাধান পাইনি। সুতরাং এখন আমার কাছে নটিলাসের দুটি সংস্করণ রয়েছে, কয়েকটি পরিবর্তন সহ আমার থেকে সংগ্রহস্থলগুলির সরকারী সংস্করণ এবং। আমি উভয় রাখতে চাই।
অ্যাপ্লিকেশনগুলিকে অ্যাপ্লিকেশনটির মধ্যে থেকে নটিলাস শুরু করার সময় নটিলাসের নিজস্ব সংকলিত সংস্করণটি ব্যবহার করার জন্য অ্যাপ্লিকেশনগুলিকে বলার ভাল উপায় কী হবে? (যেমন ফায়ারফক্স দিয়ে ডাউনলোড ফোল্ডারটি খোলার)
আমি ফায়ারফক্স কলগুলি খুঁজে /usr/bin/nautilus
পেয়েছি যাতে আমি এটি কেবল নিজের প্রোগ্রামে একটি সিমলিংক দিয়ে প্রতিস্থাপন করতে পারি। তবে আমি বিশ্বাস করি যে নটিলাসের জন্য একটি আপডেট ইনস্টল করার সাথে সাথে এই সিমিলিংকটি ওভাররাইট করা হবে। আমি কি আর কিছু করতে পারি?
/usr/bin/nautilus
মনে হয় এটি কোনওভাবে হার্ড-কোডড od যদি ডাউনলোড সরিয়ে ফোল্ডারটি খোলার চেষ্টা করি তবে ফায়ারফক্সটি যদি আর কিছু না করে তবে নটিলাস-এর নিজস্ব সংস্করণে একটি সিমিলিংক রয়েছে /usr/local/bin
। আমার $PATH
পরিবর্তনশীলটি হল/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
strace -f -efile,execve -o firefox_syscalls.txt firefox
এফএফ কী করে তা দেখতে ছুটে যেতে পারেন। আপনি যদি লগের জন্য অনুসন্ধান করেন তবে এটি nautilus
আপনাকে কিছু দেখাতে পারে। ( -e
এটি সিস্টেম কল করার জন্য ফিল্টার করে execve
এবং ওপেন / ক্লোজ / পাথনাম স্টাফ ফাইল করে, অন্যথায় এটি futex
এক্স 11 এর জন্য সকেট রিড / রাইটের বন্যা হবে )।
/usr/local/bin
কাজ করে না? যেমন ফায়ারফক্স আপনার অনুসন্ধান করেছে$PATH
এবং সংস্করণটি খুঁজে পেয়েছে/usr/bin
, বা এটি (বা আপনার এক্সডিজি-ওপেন স্টাফ) হার্ড-কোডে রয়েছে/usr/bin/nautilus
? স্থানীয়ভাবে / usr / স্থানীয় কিছুতে নিজের সংস্করণ ইনস্টল করা কাজ করে।