স্বতঃপূরণ করুন


9

আমি বর্তমানে 64৪-বিট দেবিয়ান হুইজি চালাচ্ছি।

অ্যাপটি-গেটের জন্য অটো সমাপ্তিতে আমার কিছুটা সমস্যা হচ্ছে। আমি বাশ-সমাপ্তি ইনস্টল করেছি।

যদি আমি কোনও শেলের মধ্যে রুট হিসাবে লগ ইন করি তবে আমি অ্যাপটি-গেটের জন্য স্বয়ংক্রিয় সমাপ্তি ব্যবহার করতে পারি ( উদাহরণস্বরূপ : অ্যাপ্লিকেশনটি উইকড [ট্যাব] [ট্যাব ]) এবং এটি আমার সাথে মেলে এমন সমস্ত প্যাকেজ প্রদর্শন করবে। তবে আমি যদি অন্য কোনও অ-রুট ব্যবহারকারী (এমনকি সুডো সহ) এপট-গেটের জন্য অটো সমাপ্তি ব্যবহার করার চেষ্টা করি তবে এটি মোটেই কাজ করবে না। আমি ফাইলের নামের মতো অন্য জিনিসগুলি স্বয়ংক্রিয়ভাবে সম্পূর্ণ করতে পারি।

কোন সাহায্য?

আমার .bashrc এবং / ইত্যাদি / প্রোফাইলে আমার কাছে নিম্নলিখিত কোড রয়েছে

 if [ -f /etc/bash_completion ]; then
      . /etc/bash_completion
 fi

1
প্রথমে রুট এবং অন্যান্য ব্যবহারকারীদের একই শেল রয়েছে কিনা তা পরীক্ষা করুন। যদি তা না হয় তবে এটি ভিন্ন আচরণের কারণ। অন্যথায়, এটি চেষ্টা করুন: 'অ্যাপটি-ক্যাশে - কোনও-উত্পন্ন pkgnames "উইকড" "। এটা কি কাজ করে? এটিই 'এপটি-গাই ইনস্টল উইদ [টিএবি]' এর সমাপ্তি তৈরি করতে ব্যাশ ব্যবহার করে।
এঙ্গাস

তারা উভয় একই শেল, ব্যাশ ব্যবহার করছে। আপনি আমাকে দিয়েছেন অ্যাপটি-ক্যাশে আদেশটি কাজ করে এবং সমস্ত বিব প্যাকেজের তালিকা প্রদর্শন করে। এছাড়াও, আমি যেটা জানতে পেরেছিলাম তা হল যখন আমার কম্পিউটারটি প্রথম বুট হয়ে যায় এবং আমি প্রথমবারের মতো শেলটিতে লগইন করি (আমার কোনও গুই লগইন নেই), অ্যাপ-গেট স্বয়ংক্রিয়ভাবে কোনও অ্যাকাউন্টে কাজ করবে। তবে আমি যদি স্টার্টেক্স দিয়ে আমার fvwm-crystal উইন্ডো ম্যানেজারটি চালনা করি তবে একটি টার্মিনাল খুলুন, এটি কেবলমাত্র আমার ব্যবহারকারীর অ্যাকাউন্ট দিয়ে আবার কাজ করবে না। এটি এখনও fvwm-crystal এ রুট নিয়ে কাজ করে।
ডেনিস লিনুজ

ঠিক আছে, এটিই ঘটতে পারে। / ইত্যাদি / প্রোফাইল এবং .bash_profile লগইন শেলগুলিতে চালিত হয়। এটি হ'ল আপনি যখন কনসোলে লগইন করবেন বা যখন আপনি 'su' চালাবেন। যেহেতু এই ক্ষেত্রে সমাপ্তি কাজ করে, / ইত্যাদি / প্রোফাইল কাজ করে। যা আছে তা ~ / .bashrc। লাইনটি পরীক্ষা করে দেখুন '। / etc / bash_completion 'সত্যিই কার্যকর করা হচ্ছে। এর আগে 'ইকো ওকে' এর মতো কিছু রাখুন, একটি নতুন টার্মিনাল খুলুন এবং এটি 'ওকে' বলে দেখুন check
অ্যাঙ্গাস

আপনি কি কখনও জেডএসএইচ পরীক্ষা করেছেন?
মোহাম্মদ ইফাজাতি

আপনার .bashrc পুরোপুরি অনুপস্থিত হতে পারে; এটি আমার ক্ষেত্রে ছিল
গালভানি

উত্তর:


6

আপনার /etc/bash_completionফাইলটি অবশ্যই অনুপস্থিত।

sudo apt-get install bash-completion

আপনার সমস্ত সমস্যা সমাধান করা উচিত।

/etc/bash.bashrcফাহিম মিঠা এবং অন্যরা বলেছেন যে আপনার ইতিমধ্যে লাইনগুলি নিরবিচ্ছিন্ন রয়েছে , এটি এখনই কাজ করা উচিত:

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

কারণ: bash-completionপ্যাকেজটিতে এখন সেই ফাইল রয়েছে (/ ইত্যাদি / বাশ_কম্পশন)। এটি bashপ্যাকেজে থাকত, তবে আর হয় না।

প্যাকেজ পরিবর্তন সম্পর্কিত তথ্য


/ etc / bash_completion ফাইলটিতে কী হওয়া উচিত ? আমি ইনস্টল বাশ-সমাপ্তি কমান্ডটি
চালিয়েছি

2

এটি চালানোর চেষ্টা করুন:

chsh -s /bin/bash $USER

1

এটি প্রয়োজনীয় কিনা আমি মনে করতে পারি না, তবে /etc/bash.bashrcইতিমধ্যে সংক্ষিপ্ত না থাকলে সম্পর্কিত লাইনগুলিকে অসাড়িত করার চেষ্টা করুন

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

0

যেমনটি আমার মনে আছে, কমান্ডের মাধ্যমে প্যারামিটারগুলির জন্য বাশ স্বতঃপূরণ সম্পন্ন হয়েছে complete। রুট ব্যবহারকারী বাশার্ক (সম্ভবত /root/.bashrc) দ্বারা লোড হওয়া আপনার একটি অ্যাপ-গেট সমাপ্তির স্ক্রিপ্ট থাকা উচিত, সুতরাং এটি চালানোর জন্য আপনার রুট লগইন প্রয়োজন। সুডো রুট লগইন স্ক্রিপ্টগুলি লোড করে না, এটি আপনাকে কেবল সুবিধা দেয়।

সম্ভবত আপনি অ-মূল ব্যবহারকারীদের জন্য সেই স্বতঃপূরণ স্ক্রিপ্টটি মিস করছেন, সুতরাং তাদের এপ-গেটের জন্য ব্যাশ স্বতঃপূরণ কনফিগার করা নেই। যদি এটি সত্য হয় তবে sudoers ফাইলের মধ্যে সমস্ত সুবিধা থাকা ব্যবহারকারীদের জন্য সেই ফাংশনটি লোড করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.