সাইগউইন বাশ প্রম্পট একই লাইনে ল্যাপটপ করছে


56

আমি সাইগউইন বাশ প্রম্পটটি ব্যবহার করছি এবং দীর্ঘ কমান্ডের জন্য আমার পিএস 1টিকে কেবল '$' এ সেট করার পরেও পরবর্তী লাইনে যাওয়ার বিপরীতে পাঠ্যটি একই লাইনে প্রায় আবৃত হবে।

এখানে একটি স্ক্রিনশট,
স্ক্রিনশট


11
কী TERMকরতে এনভায়রনমেন্ট ভেরিয়েবল সেট করতে চান? সাইগউইন কনসোলের জন্য এটি হওয়া উচিত cygwin
ak2

1
@ ak2 এটি আমার জন্য সমস্যাটি স্থির করেছে, আপনাকে ধন্যবাদ। মিন্টিতে সাইগউইন।
জোশুয়াডি

উত্তর:


58

আমি ইতিমধ্যে MinTTY ব্যবহার করছিলাম, এবং PS1- এ নতুন লাইনটি সরিয়ে ফেলা কোনওরকম কাজে আসেনি। এই পৃষ্ঠায় এক টুকরো পরামর্শ সাহায্য করেছে। আমি এই বাশ আদেশটি কার্যকর করেছি:

kill -WINCH $$

আমার ক্ষেত্রে, এটি চালানো একবার লগ আউট করে এবং ফিরে আসার পরেও সমস্যাটি স্থির করে দেয় this আমি নিশ্চিত নই যে এটি সর্বদা ক্ষেত্রে থাকে কিনা I'm


1
বিচার করে -WINCH, এটি বাশ প্রক্রিয়াটিকে ইঙ্গিত দেয় যে টার্মিনাল উইন্ডোটিকে পুনরায় আকার দেওয়া হয়েছিল। সুতরাং এটি প্রতিটি টার্মিনাল উইন্ডোর আকার পরিবর্তন করার পরে সম্পন্ন করা উচিত, আমার ধারণা।
ivan_pozdeev

7
@ আইভান_পোজদেদেভ, আমি সবেমাত্র পেয়েছি আপনাকে কেবল এটি করতে হবে যখন ভিএম খোলা থাকাকালীন আপনি পুনরায় আকার দিন: ভিএম সিগন্যালটি পায় এবং নতুন আকারে পুনরায় আঁকায়, তবে এটি তার মূল প্রক্রিয়াতে যায় নি এবং এইভাবে বাশ এখনও তার আকারটিকে মনে করে উইম খুললে স্ক্রিনটি যা ছিল তা।
একাটাক্রিটোস

এটি আমার জন্যও কাজ করেছিল
কনকুই

এটি আমার পক্ষেও কাজ করেছে, ধন্যবাদ @ জেপ্পেরেদা!
জেসন আর। মিক

ধন্যবাদ, এটি আমার জন্য অবশ্যই সমস্যা ছিল - ভিআইএম থাকাকালীন টার্মিনালের পুনরায় আকার দিন। আমার মনে হচ্ছে এই বাগটি ঠিক করার পক্ষে যথেষ্ট সহজ হওয়া উচিত তবে আমি জানি না।
ইগুয়ানানাট

22

আমার জন্য সমাধানটি ছিল .bashrc এ নিম্নলিখিত লাইনগুলি যুক্ত করা:

PS1='\[\e[32m\]\u@\h:\W> \[\e[0m\]'
TERM=cygwin
export PS1
export TERM

নোট প্রম্পট অ মুদ্রণযোগ্য অক্ষর ঘিরা করা আবশ্যক যে \[... \]


6
@ Ak2 দ্বারা মূল প্রশ্নের অধীনে একটি মন্তব্যে যেমন উল্লেখ করা হয়েছে, এক্সপোর্ট TERM = সাইগউইন সমস্যা সমাধানের জন্য যথেষ্ট।
dregad

1
এটি আমার ক্ষেত্রে যথেষ্ট ছিল না। যদি PS1 এ escape [... \] এ আবদ্ধ না থাকা অব্যাহতি ক্রম থাকে তবে মোড়ানোর সমস্যাটি অব্যাহত থাকবে। আপনার ক্ষেত্রে TERM env ভেরিয়েবল সেট করা যথেষ্ট হতে পারে তবে আমি সন্দেহ করি।
ডিগ্রি ডু

আমার জন্য এটি এই সমস্যাটি সমাধান করে যে দ্বিতীয় লাইনটি প্রথম লাইনটি ওভাররাইট করে, তবে আমি অবিকল 80 প্রস্থের টার্মিনালটি ব্যবহার না করি তবে কার্সার অবস্থান এবং পাঠ্য অফসেটটি এখনও খারাপ নয় (সাইগউইন 64, পুদিনা 2.3.7 ব্যবহার করে)
এমএম

আমার জন্য \ [... \] স্থির সমস্যা যুক্ত করা।
ত্রিসমেগিস্টোস

8

মিনিটটিওয়াইতেও আমার একই সমস্যা ছিল। প্রাথমিক প্রম্পট (পিএস 1) এর সাথে সমস্যার সম্ভবত কিছু সম্পর্ক রয়েছে।

আমার জন্য সমাধানটি PS1 থেকে শেষ 'নতুন লাইন' চরিত্রটি সরিয়ে দিচ্ছিল ('sign' চিহ্নের ঠিক আগে):

user@host ~
$ echo $PS1
\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$

user@host ~
$ export PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ '

user@host ~ $

রেফারেন্সের জন্য http://cygwin.com/ml/cygwin/2001-07/msg00140.html দেখুন ।

এই পরিবর্তনটি অবিরাম রাখতে, রফতানি PS1 = '[\ e] 0; \ w \ a] \ n [\ ই [32m] m u @ \ এইচ [\ ই [33 মি] \ ডব্লু [\ ই [0 মি] add যুক্ত করুন " আপনার ~ / .bashrc ফাইলটিতে $ '।


1
আমার জন্য কাজ করেনি ...
এইচডিভি

এটি আমার পক্ষে কাজ করেছিল তবে শেষ নিউলাইনটি সরিয়ে ফেলার পাশাপাশি আমাকে সাইগউইন টার্মিনালটি পুনরায় চালু করতে হয়েছিল।
christosc

5

Dregad এবং ak2 দ্বারা মন্তব্য করা হিসাবে , export TERM=cygwinআমার ~/.bashrcফাইলে সেট করা আমার জন্য এই সমস্যাটি সমাধান করার জন্য যথেষ্ট ছিল।


5

@ জেটিপেয়ার্ডের উত্তর অবশ্যই দাগে । তবে কোনও কারণে আমি এটিকে যেতে দিতে পারি না, এবং আরও গভীর খনন করি।

এই মন্তব্যটির প্রসারিত করে , আপনি যদি ভিএম-এ থাকাকালীন টার্মিনালটি আকার পরিবর্তন করেন (বা অন্য কোনও সম্পূর্ণ পর্দার অ্যাপ্লিকেশন যা শেল থেকে দূরে tty নিয়ন্ত্রণ করে), ফলস্বরূপ SIGWINCHপ্রায়শই শেলের কাছে প্রেরণ করা হয় না , সুতরাং যখন এটি ফিরে ফিরে আসে নিয়ন্ত্রণটি পায় না জানি না যে টার্মিনালটি পুনরায় আকার দেওয়া হয়েছে।

আপনি যখন আপনার টার্মিনালটিকে পুনরায় আকার দেবেন তখন এটি ioctl(..., TIOCSWINSZ, ...)ভিমটি চলছে এমন মাস্টার পিটিআইতে কল করা উচিত This ফলস্বরূপ এটি একটি killpg(SIGWINCH)ভিমের প্রক্রিয়া গোষ্ঠীর ফলস্বরূপ ।

সমস্যাটি হ'ল ভিম তার নিজস্ব প্রক্রিয়া গোষ্ঠীতে চালিত শেল থেকে পৃথকভাবে চালিত হয়, সুতরাং ব্যাশ শেলটি গ্রহণ SIGWINCHকরে না এবং তার লাইনগুলি / কলামগুলি যথাযথভাবে সামঞ্জস্য করে না।

আপনি যদি স্থায়ীভাবে কাজ করতে চান তবে shopt -s checkwinsizeআপনার সাথে যুক্ত করুন .bashrc। যা বাশ ioctl(..., TIOCGWINSZ, ..)প্রতিটি কমান্ড থেকে ফিরে উইন্ডো আকার ( ) পরীক্ষা করে এবং এর লাইন / কলামগুলি আপডেট করে।


প্রশ্নটি করতে ভিম কি করতে যায়? ওপি ভিএম ব্যবহার করছে না।
ডেভিডপস্টিল

1
আমি বোঝাতে চেয়েছি একটি আলাদা প্রশ্ন যা আমি মনে করি এই সংযোগটি আরও স্পষ্ট করে তুলেছি, তবে সংক্ষেপে ওপি-র সমস্যার সম্ভাব্য কারণটি হল ভিএম এর মতো একটি সম্পূর্ণ টার্মিনাল অ্যাপ্লিকেশন খোলার, টার্মিনালের আকার পরিবর্তনকরণ এবং তারপরে প্রস্থান করা। আমি যেমন বুঝিয়েছি সাইন শেলটি শেলটি দেখা যায় না তাই আপনি যখন ভিআইএম থেকে প্রস্থান করবেন তখনও এটি মনে করে যে টার্মিনালটি আগের আকার, যার ফলে বিভিন্ন লাইন মোড়ানোর সমস্যা দেখা দেয়।
ইগুয়ানানাট


2

আপনার টার্মিনাল সেটিংসে কিছু ভাঙ্গা রয়েছে (সম্ভবত)।
আমার ধারণা আপনি ইতিমধ্যে এই অধিবেশনটি থেকে বেরিয়ে এসে একটি নতুন অনুষ্ঠানটি পুনরায় শুরু করার চেষ্টা করেছেন have

আপনি যখন সাইগউইন টার্মিনালের জন্য কোনও সমাধান পান না, তবে MinTTY ব্যবহার করে দেখুন (এটি আসলে আরও ভাল)।


1
আমি একাধিক মেশিন জুড়ে সাইগউইনে এই সমস্যাটি দেখতে পাচ্ছি, তবে মিনিটটিওয়াই আরও ভাল দেখায় এবং মোড়কের সমস্যাটি সমাধান করে। এক ঢিলে দুই পাখি!
উইটিং

নোট করুন যে মিন্টটিওয়াই 2011 সালের শেষের দিক থেকে সাইগউইনের জন্য ডিফল্ট টার্মিনাল ।
হিউ ডাব্লু

1

আকাতাক্রিটোস দ্বারা মন্তব্য করা হিসাবে , আপনি সম্ভবত আপনার টার্মিনালটি আকার পরিবর্তন করেছেন যখন ভিএম খোলা ছিল।

যখন এটি ঘটে তখন কেবল একবার আরও একবার টার্মিনালের আকার পরিবর্তন করুন এবং সমস্যাটি চলে যায়।


ধন্যবাদ! যদিও আমি সাইগউইন ব্যবহার করছি না, এটি আমার জন্য একই ধরণের "একই লাইনে মোড়ানো" সমস্যাটি স্থির করেছে - কেবলমাত্র টার্মিনাল উইন্ডোটিকে বড় করে তুলুন, আবার এটি সর্বাধিক করুন এবং সমস্যাটি শেষ হয়ে গেল :)
নিক হামফ্রে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.