আমি কীভাবে সাইগউইনের এক্সউইন সার্ভারটি স্বয়ংক্রিয়ভাবে xterm শুরু করা রোধ করব?


12

যখনই আমি আমার স্টার্ট মেনুতে "এক্সউইন সার্ভার" লিঙ্কটি ব্যবহার করে বা সাইগউইন startxwinশেল থেকে চালিত হয়ে সাইগউইনের এক্স সার্ভারটি শুরু করি তখন স্বয়ংক্রিয়ভাবে একটি এক্সটার্ম উইন্ডো উপস্থিত হয় যা আমি চাই না এবং প্রয়োজনও নয়।

আমি কীভাবে এড়াতে পারি?

(প্রশ্ন দ্বারা অনুপ্রাণিত এই মন্তব্যটি দ্বারা Stijn Vanpoucke স্ট্যাক ওভারফ্লো উপর বেশি)

উত্তর:


5

মনে হচ্ছে @ মাই_আর এবং প্রাথমিকভাবে প্রশ্নের উত্তর দেওয়ার পরে স্টার্টক্সউইনের আচরণ পরিবর্তিত হয়েছে, সুতরাং আপনার হোম ডিরেক্টরিতে একটি খালি .startxwinrc তৈরি করা আর কাজ করবে না।

আমি একটি উত্তর এখানে । সংক্ষেপে যখন .startxwinrc এ শেষ কমান্ডটি প্রস্থান করবে, সার্ভারটি প্রস্থান করবে। আপনি যদি এটি প্রতিরোধ করতে চান, আপনি এটি আপনার .startxwinrc এ শেষ লাইন হিসাবে রাখতে পারেন:

sleep inf

এটি কোনও ক্লায়েন্ট প্রোগ্রাম শুরু করবে না, তবে। স্টার্টেক্সউইনক্রিকে প্রস্থান করতে বাধা দেবে।


1
কিছু কারণে এটি আমার পক্ষে কাজ করে না। আমাকে টাইপ করতে হয়েছিল: exec sleep infinityযেমনটি এখানে প্রদর্শিত হয়েছে: x.cygwin.com/docs/faq/cygwin-x-faq.html#q-startxwinrc-exit
enricoferrero

17

আপডেট : এই উত্তরটি এখন পুরানো । একটি আপ-টু-ডেট উত্তরের জন্য, নীচে ব্যবহারকারীর 551570 এর উত্তর দেখুন

থেকে man startxwin:

কমান্ড লাইনে কোনও নির্দিষ্ট ক্লায়েন্ট প্রোগ্রাম না দেওয়া থাকলে, ক্লায়েন্ট প্রোগ্রামগুলি শুরু করতে শেল স্ক্রিপ্ট হিসাবে চালানোর জন্য startxwinডেকে আনা ব্যবহারকারীর হোম ডিরেক্টরিতে একটি ফাইল সন্ধান করবে .startxwinrc। এই জাতীয় কোনও ফাইল উপস্থিত না থাকলে, startxwinডিফল্ট হিসাবে নিম্নলিখিতটি ব্যবহার করবে:

xterm  -geometry  +1+1  -n  login  -display  :0

সুতরাং, এক্স সার্ভারটি শুরু করার সময় কোনও প্রোগ্রাম শুরু না হওয়ার জন্য, আপনি একটি ফাঁকা .startxwinrcফাইল চান । একটি সাইগউইন প্রম্পট থেকে কেবল নিম্নলিখিতটি চালান:

touch ~/.startxwinrc

1
এই সমাধানটি দীর্ঘ সময় ধরে ভাল ছিল, তবে শেষ আপডেটের সাথে এখন তা হয় না। .startxwinrcএক্স সার্ভার তাত্ক্ষণিকভাবে অদৃশ্য হয়ে যাওয়ার জন্য একটি খালি ফলাফল ব্যবহার করা । :-(
নোটলিস্ট list

1
@ নোটিনলিস্ট তাই এটি। এটা কিছুটা দুঃখজনক। আমি চেষ্টা করব এবং তদন্ত করব এবং একটি নতুন সমাধান খুঁজে পাব; সিস্টেমটি এখন কিছুটা জটিল হয়ে গেছে বলে মনে হচ্ছে, এবং কীভাবে এটি কাজ করা উচিত তা আমি তুচ্ছভাবে কাজ করতে পারি না ...
me_ এবং

3

এর মতো নভেম্বর 2014 , সাম্প্রতিক সংস্করণ startxwinব্যবহার xinitCygwin / এক্স সার্ভার, যা আসলে বলা হয় শুরু করার জন্য XWin.exe। প্রক্রিয়াটি এরকম কিছু হয়:

  1. আপনি ডাকুন startxwin
  2. startxwinএকটি নতুন .Xauthorityফাইল এবং একটি কল তৈরি করে .serverauth.1234(যেখানে 1234আপনি এক্স চালু করার সময় প্রতিবার পরিবর্তন হয়)
  3. startxwin কিছু ক্লায়েন্ট এবং সার্ভার প্যারামিটার সেট আপ করে
  4. startxwinxinitক্লায়েন্ট এবং সার্ভারের প্যারামিটারগুলির সাথে কলগুলি , কিছু alচ্ছিক শেল স্ক্রিপ্ট এবং প্রমাণীকরণ ফাইলের একটি রেফারেন্স সহ।
  5. xinit এক্স সার্ভার আরম্ভ করে, কিছু আরসি স্ক্রিপ্ট চালায়
  6. xinitক্লায়েন্ট (সাধারণত xterm) বা ক্লায়েন্ট আরসি স্ক্রিপ্ট শুরু করে। আমরা এড়াতে চাই
  7. যখন আপনি ক্লায়েন্টটি বন্ধ করেন বা ক্লায়েন্ট আরসি স্ক্রিপ্টটি শেষ হয়, xinitএক্স সার্ভারটি বন্ধ করে দেয়। আমরা যদি step ধাপ এড়িয়ে চলি তবে আমাদের এড়ানোও দরকার

XWin.exeপার্শ্ববর্তী কাজগুলি startxwinএবং xinitসম্পাদন না করে কোনও ব্যাশ লগইন শেল থেকে সরাসরি চালানো সম্ভব । এর প্রধান সুবিধাটি হ'ল এটি আমাদের মতো আচরণ করে: এক্স সার্ভারটি শুরু হয় এবং চলমান থাকে remains দুর্ভাগ্যক্রমে, যেহেতু .Xauthorityপ্রারম্ভকালে কোনও ফাইল পাস করা হয়নি, তাই আপনার এক্স সার্ভারটি কোনও স্থানীয় প্রক্রিয়াটিকে এর সাথে সংযোগ স্থাপনের অনুমতি দেবে, এটি অনিরাপদ।

ভাগ্যক্রমে এটি আমাদের পছন্দসই xinitজিনিসগুলির বেশিরভাগ অংশে করে। একটি দ্রুত হ্যাক রয়েছে যা বাইপাস করে xinitকিন্তু এর অবশিষ্ট উপাদানগুলি startxwinসার্ভারের সাথে সম্পর্কিত।

টিএল; ডিআর: ইন startxwin, নীচের কাছাকাছি একটি লাইন রয়েছে যা পড়ে:

eval xinit \"$client\" $clientargs -- \"$server\" $display $serverargs

সেই লাইনটি এতে পরিবর্তন করুন:

eval \"$server\" $display $serverargs

এখন থেকে startxwinস্ক্রিপ্ট কল XWin.exeকরার চেয়ে সরাসরি কল করবে xinit। স্পষ্টতই এটি কোনও ক্লায়েন্ট আরসি স্ক্রিপ্টগুলি অক্ষম করবে, তবে আমরা সেগুলি প্রথম স্থানে চাইনি। এর অর্থ এটিও হ'ল এক্স এটি চালিয়ে যাওয়ার জন্য ক্লায়েন্টের প্রসেসের প্রয়োজন ছাড়াই চলতে থাকবে (যেমন xinitএটি হত্যা থেকে চালিয়ে যান)।


0

আমি স্টার্টক্সউইন (.exe) দিয়ে সাইগউইন এক্স শুরু করার অভ্যাস করেছি। আমার .startxwinrc ফাইলটি নীচে পড়ে:

X :0 -rootless mrxvt  -geometry  +1+1  -n  login  -display  :0 -tt ImTabbed

এখনও পর্যন্ত, এটি কাজ হয়েছে। আমি কেবলমাত্র ত্রুটিটি পেয়েছি যে অন্য এক্স প্রসেসের দ্বারা প্রদর্শনটি "উন্মুক্ত" থাকবে get এই ত্রুটিটি প্রতিটি সেশনের জন্য ডিফল্টরূপে X সার্ভার উত্পন্ন একটি নির্দিষ্ট ফাইল নির্দিষ্ট করে। সাইগউইন লোকেরা সচেতন যে সেশনটি শেষ হয়ে গেলে এটি মুছে ফেলা হয় না।

তাই আমি "নিরাময়" করতে একটি উপনাম লিখেছিলাম যে:

alias freex='rm /tmp/.X0-lock'

আমার .bashrc এবং .bash_profile ফাইলগুলিতে আমি নিজেই ভুলে যাওয়া উচিত সে ক্ষেত্রে আমি একই লাইনটি - কোটরের মাঝে অংশটি যে কোনও হারে রেখেছি।

আছে HTH।

BZT


এটি সত্যই এই প্রশ্নের উত্তর নয়; পুনর্নির্মাণের সাথে এটি হতে পারে তবে আমি মনে করি যে আপনি যে ত্রুটিটি দেখছেন সেগুলি পরিচালনা করার জন্য এটি একটি পৃথক প্রশ্ন এবং উত্তর হিসাবে (আমি এখানে যেমন করেছি) হিসাবে ভাল উপযুক্ত হবে। তারপরে আপনি এই মন্তব্যে সেই প্রশ্নের সাথে লিঙ্ক করতে পারেন।
me_ এবং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.