জেনোম-টার্মিনালে Ctrl + C কাজ করে না


9

আমার লিনাক্স হোস্টে, Ctrl+ Cকাজ করছে বলে মনে হচ্ছে না এবং এটি কীভাবে কাজ করা যায় তা আমি জানি না। আমি উবুন্টু 10.04 ব্যাশ 4.1.5 (1) দিয়ে ব্যবহার করছি এবং জিনোম-টার্মিনালে কাজ করছি।

এই স্ক্রিপ্টটি চলাকালীন যখন আমি Ctrl+ টিপেছিলাম তখন Cএটি এটিকে ছাড়ার কারণ হয় না।

#!/bin/bash
for i in `seq 500`
do
        ps -e > /dev/null
        echo $i
done

2
"কাজ করে না" বলতে কী বোঝ? আপনি সেই চাবিটি কোথায় চাপলেন, কী ঘটবে বলে আপনি প্রত্যাশা করেছিলেন, আসলে কী হয়েছিল?
গিলস 'অশুভ হওয়া বন্ধ করুন'

আপনি কেন সিটিআরএল-সি কাজ করে না বলে মনে করেন তার আরও বিশদ বর্ণনা করতে পারেন - কিছু কার্নেল স্তরের জিনিস রয়েছে যা বাধাপ্রাপ্ত নয় - উদাহরণস্বরূপ একটি (ব্যর্থ) এনএফএস উত্তরের জন্য অপেক্ষা করার প্রক্রিয়াটি প্রায়শই বাধা দেওয়া যায় না
সোরেন

আমি আমার উত্তর আপডেট। মূলত সিআরটিএল সি কোনও স্ক্রিপ্ট শেষ করেনি, যে আমার ধারণা
সিটিআরএল

না stty -aআউটপুট ধারণ intr=^C? আপনি কীভাবে স্ক্রিপ্টটি চালাবেন?
স্টাফেন গিমেনেজ

1
দয়া করে ক্রস পোস্ট প্রশ্ন করবেন না। আপনি যে সাইটটিতে জিজ্ঞাসা করতে চান তা চয়ন করুন এবং এটিকে সাইটটিতে টেইলার করুন।

উত্তর:


9

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

$ stty sane

এবং দেখুন যে এটি সমস্যার সমাধান করে কিনা, তা পরীক্ষা করে সঠিকভাবে কী ব্যবহার করে সেট করা হয়েছে কিনা তাও পরীক্ষা করে দেখুন

$ stty -a

যদি আপনি দেখতে পান যে এটি intrডিগ্রি সেন্টিগ্রেড থেকে আলাদা কিছুতে সেট করা থাকে তবে আপনি টাইপ করে এটিও ঠিক করতে পারেন

$ stty intr ^v^c

এটি কোনও উপকারে আসেনি। stty -a "আন্ত = ^ সি" দেখায় (উদ্ধৃতি ব্যতীত)
অঙ্কুর আগরওয়াল

আমার কি ^ চরিত্রটি টাইপ করতে হবে বা Ctrl কী টিপতে হবে?
অঙ্কুর আগরওয়াল

আপনাকে কেবল Ctrl কী টিপতে হবে (C Ctrl- এর জন্য সংক্ষিপ্ত)
সোরেন

আপনি কেন সিটিআরএল-সি কাজ করে না বলে মনে করেন তার আরও বিশদ বর্ণনা করতে পারেন - কিছু কার্নেল স্তরের জিনিস রয়েছে যা বাধাপ্রাপ্ত নয় - উদাহরণস্বরূপ একটি (ব্যর্থ) এনএফএস উত্তরের জন্য অপেক্ষা করার প্রক্রিয়াটি প্রায়শই বাধা দেওয়া যায় না
সোরেন

আমি আমার প্রশ্নে আরও বিশদ যুক্ত করেছি। মূলত সিআরটিএল সি যে স্ক্রিপ্টটি আমি চালাচ্ছি তা সমাপ্ত করছে না, যা আমি প্রত্যাশা করছি যে
সিটিআরএল

6

যেহেতু এটি একটি ভাঙা gnome-terminalকনফিগারেশনের মতো দেখাচ্ছে তাই আপনি এটি ডিফল্ট ব্যবহার করে পুনরুদ্ধার করার চেষ্টা করতে পারেন

mv .gconf/apps/gnome-terminal{,-BROKEN}

(এর প্রভাবগুলি দেখতে আপনাকে টার্মিনালটি পুনরায় শুরু করতে হবে))

এর পরে যদি সবকিছু ঠিক থাকে তবে ক rm -rf .gconf/apps/gnome-terminal-BROKEN


4

ডিফল্ট সেটিংসে উইন্ডোজের অনুলিপি এবং পেস্ট আচরণ অনুকরণ করার জন্য এবং কীগুলিকে gnome-terminalআবদ্ধ করে । এটি বাগের মতো নয় এমন বৈশিষ্ট্য হিসাবে বোঝানো হয়েছিল :)Ctrl-CCtrl-V

এটি অক্ষম করতে, জিনোম-টার্মিনালে,

  1. নেভিগেট করুন Menubar -> Edit -> Keyboard Shortcuts
  2. শর্টকাট কী কলামে Ctrl+ ক্লিক করুন Cযতক্ষণ না আপনি না দেখেন New Accelerator...
  3. চাপুন Backspaceঅথবা Deleteকী বাঁধাই অক্ষম চাবিকাঠি
  4. Disabledশর্টকাট কী কলামে প্রদর্শিত হবে তা যাচাই করুন ।

মনে রাখবেন যে, এই পরিবর্তন হতে হবে অবিলম্বে কার্যকর উপর সব জিনোম-টার্মিনাল।

টিপ: gnome-terminal --show-menubarজিনোম-টার্মিনালটি মেনুবার প্রদর্শিত না হলে এটি প্রদর্শন করতে বাধ্য করবে।


3

আমি এখানে একটি অনুমান নিতে চলেছি: Ctrl-C কাজ করে, তবে ps -eস্ক্রিপ্টের বাকী অংশের তুলনায় চালাতে অনেক সময় লাগে, আপনি যা কিছু করেন তা "পিএস" প্রক্রিয়াতে সাইন ইন পাঠানো হয়। "পিএস" প্রস্থান করে এবং স্ক্রিপ্টটি লুপ কোডের মাধ্যমে অন্য একটি পুনরাবৃত্তির সাথে ঠিক উপরে উঠে আসে।

একটি কি sleep 10, নিয়ন্ত্রণ-সি এটি আপনার ব্যাশ উইন্ডোতে যখন এটি রান। দেখুন যে কাজ করে। যদি এটি হয় তবে আপনার আসল স্ক্রিপ্টটি চালান, এবং এটি একাধিকবার নিয়ন্ত্রণ-সি করুন। যত তাড়াতাড়ি বা পরে, আপনি ভাগ্যবান হবেন এবং স্ক্রিপ্টটির ব্যাখ্যা দেয় এমন ব্যাশ প্রক্রিয়া সাইন ইন করবে।


ঘুম 10 এ Ctrl সি হয় না।
অঙ্কুর আগরওয়াল

2
সুতরাং জিনোম-টার্মিনাল ব্যবহার করে Ctrl C কাজ করে তবে Ctrl সি তা করে না। তাই ঘুম বাধা দেওয়ার জন্য 10 যদি আমি Ctrl + Shift + c করি তবে এটি কাজ করে। তবে Ctrl + c করলে কাজ হয় না। কেন এটি সংবেদনশীল ক্ষেত্রে।
অঙ্কুর আগরওয়াল 12'11
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.