আমার লগইন স্ক্রিনের আগে শুরু হওয়া কোনও স্ক্রিপ্ট আমি কীভাবে চালাতে পারি?


17

আমি আমার টাচ স্ক্রিনটি ক্যালিব্রেট করছিলাম এবং দেখলাম যে সর্বোত্তম সরঞ্জামটি ছিল xinput_calibrator। সুতরাং আমি এটি ব্যবহার। এর দুটি বিকল্প রয়েছে (যার মধ্যে একটি কাজ করে না), তাই আমি দ্বিতীয়টির জন্য এখানে আছি। এটি বলেছে যে "আপনার এক্স সেশন দিয়ে শুরু হওয়া স্ক্রিপ্টে" আমার এই আদেশটি কার্যকর করা উচিত:

xinput set-int-prop "3M 3M USB Touchscreen - EX II" "Evdev Axis Calibration" 32 14410 2146 14574 2115

তাই আমি চেষ্টা করেছিলাম ~/.xinitrc, ~/.xsessionএবং ~/.xsessionrcযার সমস্তটির অস্তিত্ব ছিল না। সুতরাং আমি তাদের তৈরি করেছি এবং সঠিক বিষয়বস্তু ছিল এই আদেশ। প্রথম দুটি ফাইল আমার লগইনগুলিকে ব্যর্থ করে দিয়েছে (আমি লগইন করার পরে, আমি লগইন স্ক্রিনে ফিরে যাই)।

শেষ ফাইলটি সহ, ক্রমাঙ্কনটি কার্যকরী ছিল, তবে কেবল লগ ইন করার পরে ...

লগইন ডায়ালগটি প্রদর্শিত হওয়ার আগে চালানোর জন্য আমার সেই কমান্ডটি দরকার । আমি /etc/X11/xinit/xinitrcকোনও আদেশ ছাড়াই এই আদেশটি যুক্ত করার চিন্তা করেছি (কিছুই পরিবর্তন হয়নি)। এছাড়াও, আমি এটিকে শেষের দিকে যুক্ত করার চেষ্টা করেছি /etc/X11/Xsession.d/40x11-common_xsessionrc(কয়েকটি ফাইল পরিদর্শন করার পরে), তবে ফলাফলটি যুক্ত করার মতোই ছিল ~/.xsessionrc

লগইন স্ক্রিনটি দেখানোর আগে এই কমান্ডটি কীভাবে চালানো যায় (উইন্ডো ম্যানেজারটি শুরু হওয়ার আগে, বা এক্স সেশন শুরু হওয়ার আগে) এটি কী?

(আমি যদি ডিফল্ট উইন্ডো ম্যানেজারের সাথে কুবুন্টু চালাচ্ছি তবে তা গুরুত্বপূর্ণ)

আপডেট করুন আমি যেমন কুবুন্টু ব্যবহার করছি, আমার ডিসপ্লে ম্যানেজারটি কেডিএম। গৃহীত উত্তরের মতামত হিসাবে, আমি ফাইলটি সম্পাদনা করেছি /etc/kde4/kdm/Xsetupএবং এখানে উল্লিখিত হিসাবে আমি পূর্বনির্ধারিত কমান্ডের আগে কমান্ডটি যুক্ত করেছি। এবং এটি একটি কবজ মত কাজ করে :)


4
আপনি কোন লগইন পরিচালক ব্যবহার করছেন? জিডিএম 3 এর জন্য আপনি সম্ভবত /etc/gdm3/Init/displayবা /etc/gdm3/Init/Default- manpages.debian.net/cgi-bin/…
উলরিচ ড্যাঙ্গেল

আরে, ভাল জিনিস। আমি এখানে একটি প্রশ্ন পোস্ট করেছি [ unix.stackexchange.com/questions/172007/… যা এই প্রশ্নোত্তরটির সম্ভাব্য সদৃশ হিসাবে চিহ্নিত হয়েছে । যাইহোক, লোকেরা, এটি একটি ক্লোন নিশ্চিত নয়। Pl আমার প্রশ্নটিও দেখুন এবং আমাকে সাহায্য করুন :)
kaiwan

উত্তর:


13

লগ ইন করার পরে আপনি যে ফাইলগুলি পরিবর্তন করার চেষ্টা করেছিলেন তা সমস্তই পড়ে। তদুপরি, ~/.xinitrcএবং ~/.xsessionএকটি অধিবেশন চলমান কমান্ডের সম্পূর্ণ সেট; ~/.xinitrcআপনি চালিত হলে xinitবা startxপাঠ্য মোড প্রম্পট থেকে ~/.xsessionপড়া হয় এবং আপনি গ্রাফিকাল লগইন প্রম্পট থেকে একটি "কাস্টম সেশন" (নামটি পরিবর্তিত হতে পারে) চালনা করলে তা পড়ে।

আপনাকে আপনার ডিসপ্লে ম্যানেজারটি কনফিগার করতে হবে , যে প্রোগ্রামটি লগইন প্রম্পট দেখায়। কেডিএম, কেডিএম ডিসপ্লে ম্যানেজারের জন্য, আপনার কমান্ডটি যুক্ত করুন /etc/kde4/kdm/Xsetup(বা /etc/kde3/kdm/Xsetupপুরানো সংস্করণগুলির জন্য) (এটি ডিব্বানের পথ, আমি যাচাই করতে পারি নি যে কুবুন্টু একই পাথটি ব্যবহার করে)।

Gdm (জিনোম ডিসপ্লে ম্যানেজার) এর জন্য আপনার কমান্ডটি এতে যুক্ত করুন /etc/gdm/Init/Default। এক্সডিএম (ট্র্যাডিশনাল এক্স ডিসপ্লে ম্যানেজার) এর জন্য আপনার কমান্ডটি এতে যুক্ত করুন /etc/X11/xdm/Xsetup


বর্নানার জন্য ধন্যবাদ! আপনার সাফল্য ব্যতিরেকে আমি যা চেষ্টা করেছি তা চেষ্টা করেছিলাম। আমি Xsetupফাইলটি চিহ্নিত করেছি (আপনি যে একই পথে উল্লেখ করেছেন) এবং কমান্ডটি যুক্ত করেছি। ক্রমাঙ্কনটি কাজ করে না, তবে আমি এটি যুক্ত করে নিশ্চিত করেছিলাম যে এটি কার্যকর হয়েছিল echo "w" > /test.log, এবং /test.logপুনরায় বুটের পরে যাচাইকরণের অস্তিত্ব ছিল। এটির xinputজন্য কি বিশেষ "প্রসঙ্গ" বা কিছু প্রয়োজন ...?
jadkik94

আসলে, শেষ মন্তব্য উপেক্ষা করুন। আমি xinputসেই ফাইলটিতে কমান্ডটি পুনঃনির্দেশিত করেছি এবং দেখে মনে হচ্ছে যে আমি ডিভাইসের নামের সাথে একটি স্থান যুক্ত করেছি যা ক্যালিব্রেশনটি কাজ করে না। আপনি 100% সঠিক ছিলেন :) আবার ধন্যবাদ।
jadkik94

5
এবং শুধু উত্তর সম্পন্ন করতে - খুঁজে বের করতে কি আপনার প্রদর্শন ম্যানেজার (একটি ডেস্কটপ পরিবেশের সঙ্গে বিভ্রান্ত করা যাবে না) ব্যবহার: cat /etc/X11/default-display-manager
নাক্স

কি হবে xserverrc? এবং যে আছে /etc/X11/xinit/xserverrc?
সিএমসিডিগ্রাগনকাই

1
@ সিএমসিডিগ্রাগনকাই যদি কোনও ডিসপ্লে ম্যানেজার থাকে startxতবে এটি ব্যবহার করা হয় না। ডিসপ্লে ম্যানেজার ইনিশিয়ালাইজেশন স্ক্রিপ্টগুলি এখানে প্রাসঙ্গিক হবে না কারণ তারা ব্যবহারকারীদের লগ-ইন করার আগে চালিত হয়
গিলস'স-অশুভ হওয়া বন্ধ করুন '

4

আমি আপনাকে নিজের কনফিগারেশন ফাইল তৈরি করার পরামর্শ দিচ্ছি, এর একটি সহজ উদাহরণ:

/usr/lib/X11/xorg.conf.d/20-calibration.conf

Filecontent:

Section "InputClass"
         Identifier "Calibration"
         MatchProduct "3M 3M USB Touchscreen - EX II"
         Option "Calibration" "14410 2146 14574 2115"
EndSection

কৌতুক করা উচিত।


-1

আপনি /etc/rc.local চেষ্টা করতে পারেন?


4
আমার উদ্বেগ ছিল যে স্ক্রিপ্টটি এক্স শুরু হওয়ার আগেই চালিত হবে (আমি এটি বুঝতে পেরেছি), যা সেই স্ক্রিপ্টটিকে অকেজো করে তুলবে ... কখন এটি চালায়?
jadkik94

3
@ jadkik94 আপনি ঠিক বলেছেন এটি কাজ করবে না কারণ rc.local এর এক্স সেশনে অ্যাক্সেস নেই।
উলরিচ ড্যাঙ্গেল

-1

যখন আপনার ওপেনসুএস আছে আপনি নিজের স্ক্রিপ্টটি /etc/init.d এ অনুলিপি করতে পারবেন এবং ইনসভার স্ক্রিপ্টের নাম চালাতে পারবেন। ইনসওয়ার একটি স্ক্রিপ্ট সক্ষম করে: http://man-wiki.net/index.php/8:insserv


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