আমি কখনই এটি চেষ্টা করি নি, তবে যেহেতু মনে হচ্ছে আপনি এখনও খুঁজছেন এবং প্রায় এক মাসে কোনও উত্তর পান নি, তাই আমি আপনাকে বলব যে আমি কোথায় শুরু করব।
এটি কীভাবে প্রাচীন, তবে সাধারণ রূপরেখাটি দুর্দান্ত বলে মনে হয়। আপনাকে সব কিছু ঠিক একই রকম করতে হবে না। এটি কোনও ওয়েব ব্রাউজারকে কেন্দ্রবিন্দু হিসাবে ব্যবহার করার দিকে মনোনিবেশ করে তবে এটি এখানে বেশিরভাগ ক্ষেত্রেই অপ্রাসঙ্গিক (যেমন আরাম করুন, এটি অন্য কোনও "ওয়েব-কিওস্ক" নয়)।
এটি বোঝায় /etc/inittab
, যা বেশিরভাগ লিনাক্স ডিস্ট্রোসগুলি আর ব্যবহার করে না, তবে এটি ঘটে যা ডেবিয়ান হুইজি (রাস্পিয়ান) করে। ধারণাটি হ'ল আপনি রানওয়েভেল 4 কে কিওস্ক হিসাবে ব্যবহার করতে এবং এটিকে ডিফল্ট করতে চলেছেন। আপনি এটি করতে পারেন বা কেবল ডিফল্ট হিসাবে যা কিছু ব্যবহার করতে পারেন (2 বা 3, আমি মনে করি)। আমি এখনই যে রাস্পবিয়ান চালাচ্ছি তা আমার দ্বারা সংশোধিত হয়েছে, সুতরাং আমি নিশ্চিত নই যে /etc/rc[N].d
ডিরেক্টরিগুলির মধ্যে মূল পার্থক্যগুলি কী ছিল - যা 7 রানলেভেলের সাথে সামঞ্জস্যপূর্ণ। আপনি হয় এমন একটি ব্যবহার করতে চান যা গ্রাফিকাল লগইন ( lightdm
) শুরু করে না বা অন্যটি lightdm
রানলেভেল থেকে সরাতে চায় । আপনি সেই ধরণের জিনিসটি সঠিক উপায়ে করতে পারেন (দেখুন man update-rc.d
)।
তারপরে, কীভাবে করা যায় তার এই অংশটি অনুসরণ করে, আপনি লগইন ছাড়াই এক্স এবং আপনার অ্যাপ্লিকেশন শুরু করার জন্য নিজের বুট পরিষেবা (ওরফে। Init) স্ক্রিপ্ট তৈরি করতে চান। এটি বেশ যেভাবে করবেন না, তবে; আপনাকে ডেবিয়ানের সাথে সামঞ্জস্য করা দরকার, তাই দেখুন /etc/init.d/README
। এছাড়াও, আপনাকে উইন্ডো ম্যানেজারটি মোটেই ব্যবহার করতে হবে না (যদিও fvwm
এখনও দুর্দান্ত, বিশেষত এই ধরণের জিনিসটির জন্য মিথথিংস, তাই আপনি যদি তা করেন তবে এটি মাথায় রাখুন), কারণ এটির .xinitrc
মতো:
#!/bin/sh
myApp
আপনার অ্যাপটিকে কেবল সাদামাটা এক্সে চালাবে - যা খুব সাধারণ: কোনও মেনু, কোনও শিরোনামবার, কোনও সরঞ্জামদণ্ড, ইত্যাদি বা ব্যবহারকারীর জন্য অন্য অ্যাপ্লিকেশন শুরু করার বা শেল পাওয়ার কোনও উপায়। এটি কেবল একটি কার্সার সরবরাহ করে।
এটির সাথে একটি সমস্যা হ'ল আপনি যদি বুট থেকে সরাসরি ডেস্কটপে যান, তবে এটি একটি সুপারইউজার ডেস্কটপ হবে। প্রকৃতপক্ষে, এক্স উদাহরণগুলির সর্বদা 0 এর uid থাকে, তবে xinitrc থেকে চালিত অ্যাপ্লিকেশনগুলি X ব্যবহার করা ব্যবহারকারী হিসাবে চালিত হয় - এই ক্ষেত্রে এক্সটি init দ্বারা শুরু হয়েছিল, সুতরাং ব্যবহারকারী রুট হবে (যদিও প্রযুক্তিগতভাবে রুট লগইন করা হয়নি) )। সুতরাং উপরের xinitrc এর সাথে আরও ভাল হবে:
su -c myApp pi
এটি পরিবর্তে পাই ব্যবহারকারী হিসাবে আপনার অ্যাপ্লিকেশনটি চালিত করবে (যিনি প্রযুক্তিগতভাবে লগ ইনও করেছেন না)।
যেহেতু প্রযুক্তিগতভাবে কেউ লগ ইন নেই, এমনকি কিওস্ক ব্যবহারকারী যদি এক্স (যেমন: এর মাধ্যমে ctrl-alt-delete
) হত্যা করে তবে তাদের কেবল লগইন প্রম্পটেই রেখে দেওয়া হবে। কীভাবে এটি অতিক্রম করে যায় যে সার্ভিস আরআইপি স্ক্রিপ্টটি পূর্বের অংশে এক্স ( নীচে দ্রষ্টব্য দেখুন) শুরু হয় যাতে এটি প্রস্থান করলে সার্ভিস স্ক্রিপ্টটি চলতে থাকে এবং চলতে থাকে shutdown -r now
।
মনে রাখবেন যে যার (সাধারণ) মেশিনে শারীরিক অ্যাক্সেস রয়েছে সে আপনার প্রয়োগ করা যে কোনও সুরক্ষা সর্বদা রোধ করতে পারে তাই আপনি এখানে যা করতে চেষ্টা করছেন তা খুব সহজ নয় এবং বাজে দুর্ঘটনা রোধ করতে পারে না to
এছাড়াও মনে রাখবেন যেহেতু আপনার বুট পরিষেবাটি অগ্রভাগে এটি করবে , তাই এর পরে আর কোনও পরিষেবা চলবে না , তাই নিশ্চিত হয়ে নিন যে এটি সর্বশেষটি। অনেক গুরুত্বপূর্ণ! আপনি বাস্তবে এর /etc/rc.local
পরিবর্তে ব্যবহার করতে পারেন , যেহেতু এটি সাধারণত শেষের নিশ্চয়তাযুক্ত;) এটি আপনার কিছুটা সময় সাশ্রয় করবে।
উল্লেখ্য: বাস্তবিক কিভাবে-থেকে এটা অন্য স্ক্রিপ্টের, /root/kiosk
থেকে এই বিভাগে । লক্ষ্য করুন যে এটি কেবলমাত্র একটি লাইন যা .xinitrc
উপরের বিভাগে প্রদর্শিত স্ক্রিপ্টের উল্লেখ করে (3.4)। সরাসরি আপনার বুট স্ক্রিপ্টে এর মতো একটি লাইন রাখুন। আপনার (প্রাথমিক) xinitrc, ইতিমধ্যে বর্ণিত হিসাবে, অনেক সহজ হবে much
উদ্যোগের সাথে অগ্রগণ্য থাকার বিকল্প ...
এক্স অনুরোধটিকে অগ্রভাগ হিসাবে রেখে যাওয়ার উদ্দেশ্যটি কেবল এক্স প্রস্থান না হওয়া অবধি init স্ক্রিপ্টটি কার্যকর করা অবরুদ্ধ করা, যাতে স্ক্রিপ্টের পরবর্তী লাইনটি shutdown
চলবে:
startx
shutdown -r now
এখানে আমি startx
কীভাবে টু /usr/X11R6/bin/xinit /root/kiosk.xinitrc ....
লাইনের পরিবর্তে ব্যবহার করেছি । এটি ব্যবহার করবে $HOME/.xinitrc
এবং OME হোম হবে /root
। খুব নিশ্চিত স্টার্টেক্সও একটি ব্লকিং কল, সুতরাং এক্স প্রস্থান না হওয়া অবধি shutdown
চলবে না। পরিবর্তে আপনি যদি এটি করেন:
startx &
shutdown -r now
এক্স দৌড়াতে পারে, তবে শাটডাউনটি খুব সরাসরি চলবে, ঠিক এখনই (স্পষ্টত অর্থহীন)।
আপনি যদি শাটডাউনটি নিয়ে আসার বিষয়ে চিন্তা না করেন তবে আপনাকে সেই কৌশলটি ব্যবহার করতে হবে না - উল্লিখিত হিসাবে ব্যবহারকারী কেবল একটি লগইন প্রম্পট দিয়ে শেষ হবে। তবে এটি কোনও কার্যকর ধারণার মতো বলে মনে হচ্ছে না, তখন থেকে আপনি কেবল এটি বন্ধ করে দিতে পারেন ctrl-alt-backspace
। আরেকটি ধারণা, যদি আপনার অ্যাপ্লিকেশনটি বন্ধযোগ্য হয় তবে তা ডিআইপি startx &
স্ক্রিপ্টে ব্যবহার করা হবে যা এটি ব্যাকগ্রাউন্ড করে এবং ডিআইকে স্বাভাবিকভাবে চালিয়ে যেতে দেয় (এটি ঠিক আছে; এক্স এখনও চলমান থাকবে এবং প্রদর্শনটির নিয়ন্ত্রণ থাকবে - "ব্যাকগ্রাউন্ড" হ'ল একটি সম্ভবত একটি বিভ্রান্তিকর শব্দ)। Init স্ক্রিপ্টের shutdown
পরিবর্তে, xinitrc এর পরিবর্তে রাখুন:
#!/bin/sh
#/root/.xinitrc
su -c myApp pi
shutdown -r now
একই কৌশল, আলাদা জায়গা। এখন যখন কেউ বন্ধ করে myApp
, শাটডাউনটি ঘটবে (তবে তারা যদি এক্সকে মেরে ফেলে তবে তা হবে না)। আপনিও এটা উভয় উপায় আরো ভালো করতে পারে, কিন্তু আমি আসলে এই এক মত কারণ এটি মানে আপনি পারবেন প্রস্থান X এবং একটি লগইন, যা দরকারী কখনও কখনও হতে পারে পাবেন, এবং আপনি সহজে গুই থেকে মুছে সিস্টেম চালু করতে পারেন।
ব্যাকগ্রাউন্ড ( &
) মাইএপ .xinitrc না থাকলেও যদি এর পরে কোনও শাটডাউন না হয়, কারণ .xinitrc হয়ে গেলে এক্স প্রস্থান করে;) সেখানে শেষ কলটি অগ্রভাগে অবিরত থাকতে হবে (সাধারণত, এটি কোনও ডিই বা উইন্ডো) ম্যানেজার)।
আর্ট স্ক্রিপ্টগুলি এবং .xinitrc
একই ধরণের ধারণা ts একটি দ্বারা চালিত হয় init
, যা লিনাক্সের উপর 1 প্রক্রিয়া হয় (এটি কেবলমাত্র কার্নেল দ্বারা শুরু করা প্রক্রিয়া)। অন্যটি এক্স সার্ভার দ্বারা চালিত হয়। মনে রাখবেন যে .xinitrc ফাইল এবং একটি xinitrc কমান্ড রয়েছে (সেগুলি সম্পর্কিত তবে একই নয়)।
/etc/inittab
তবে বেশিরভাগ লোকেরা আর ব্যবহার না করে, পরিবর্তে তারা কী ব্যবহার করবে?