কীভাবে রাস্পবিয়ানে "কিওস্ক" মোড সেট আপ করবেন?


10

আমি আমার রাস্পবেরি পাইটিকে "কিওস্ক" মোডে বাছাই করতে চাই যেখানে এটি একটি একক পূর্ণ স্ক্রিন অ্যাপ্লিকেশন হিসাবে বুট হয়। কমান্ড লাইনটি সম্পর্কে আমার উপায় আমি জানি তবে লিনাক্স বুটের আচরণটি কাস্টমাইজ করার ক্ষেত্রে আমি একজন শিক্ষানবিস। আমি অ্যাপ্লিকেশনটি তৈরি করছি এবং রাস্পবেরি পাই নিরাপদে বন্ধ করার ক্ষমতা যুক্ত করার পরিকল্পনা করছি। কেবলমাত্র এই একটি অ্যাপ্লিকেশনটি চালানোর জন্য আমার রাস্পবেরি পাই কনফিগার করতে আমার কী করতে হবে?

আপডেট: পরিষ্কার হওয়ার জন্য, আমি কোনও ওয়েবপৃষ্ঠা খুলতে চাই না । আমি অপারেটিং সিস্টেম পরিবর্তন করতে চাই না। আমি কীভাবে এক্স এর পরিবর্তে আমার নিজের অ্যাপ্লিকেশন চালু করতে আমার অপারেটিং সিস্টেম (রাস্পবিয়ান) কনফিগার করতে পারি তা শিখতে চাই (যদিও আমার অ্যাপ্লিকেশনটি ব্যাকগ্রাউন্ডে এক্স রেন্ডারিংয়ের উপর নির্ভর করে)।

উত্তর:


7

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

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

এটি বোঝায় /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তবে বেশিরভাগ লোকেরা আর ব্যবহার না করে, পরিবর্তে তারা কী ব্যবহার করবে?
অ্যান্ড্রু

সুতরাং যদি আমি আমার অ্যাপ্লিকেশনটি অগ্রভাগে চলমান অবস্থায় এসএসএস অ্যাক্সেসের অনুমতি দিতে চাই, তবে আমার .xinitrcস্ক্রিপ্টটি তার পরে চলছে কিনা তা নিশ্চিত করা দরকার , সঠিক?
অ্যান্ড্রু

দেবিয়ান একটি "এসআইএসভি" -ইন ইশ সিস্টেম ব্যবহার করে এবং inittabএটি সমস্ত কিছুরই একটি অংশ। আরও সাধারণ থিম ডেমন এখন systemdএবং upstart
স্বর্ণলোকস

অগ্রণীতে আপনার অ্যাপ্লিকেশনটি ডব্লিউআরটি চলছে, এটি কেবল কারণ (এসআইএসভি) initপরবর্তী স্ক্রিপ্টগুলি শুরু হওয়ার আগে সেই স্ক্রিপ্টগুলি ফিরে আসার জন্য অপেক্ষা করে। সুতরাং সাধারণত একটি init স্ক্রিপ্টে, আপনি যদি অবিরাম পরিষেবা শুরু করেন তবে আপনি এটির মাধ্যমে পটভূমি (যেমন। কাঁটাচামচ) করছেন &। তারপরে স্ক্রিপ্টটি নিজেই প্রস্থান করে তবে "পটভূমি" প্রক্রিয়া অবিরত থাকে। "ব্যাকগ্রাউন্ডিং" কেবল মৃত্যুদন্ড কার্যকর করার বোঝায়, স্ক্রিনে কী প্রদর্শিত হবে সে সম্পর্কে কিছু নয় - আপনি আপনার এক্স অনুরোধটির ব্যাকগ্রাউন্ড করতে পারেন ( lightdmঅবশ্যই পটভূমি করা উচিত) ... আমি এ সম্পর্কে কিছু সম্পাদনা করব।
স্বর্ণলোকস

ডাব্লুআরটি এসএসএস, sshপরিষেবাটি (লিঙ্কযুক্ত /etc/rc[N].d) আপনার আগে শুরু হওয়া উচিত, যাতে সংযোগের উত্তর দেওয়ার জন্য এটি ("পটভূমিতে") চলমান হবে। এটি এখনও একটি বহু-টাস্কিং সিস্টেম;)
সোনারলকস

2

এই 'ডিজিটাল সিগনেজ' প্রকল্পটি দেখুন। এটি জিইউআইতে বুট হয় তারপর একটি এইচটিএমএল 5 চালিত ব্রাউজার খুলবে। আমি এখনও চেষ্টা করা হয়নি তবে আমি চাই। পুরো পর্দা বুট করার জন্য আপনি ব্রাউজারটির পরিবর্তে আপনার অ্যাপ্লিকেশনটি রাখতে পারেন।

http://www.binaryemotions.com/raspberry-digital-signage/


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

আপনার প্রশ্নে রাস্পবিয়ান সম্পর্কে কোনও উল্লেখ নেই। এটা চেষ্টা কর. pikiosk.tumblr.com/post/38721623944/…
gurcanozturk

0

উল্লিখিত রাস্পবেরি ডিজিটাল সিগনেজ এমন একটি অপারেটিং সিস্টেম যা ওয়েব পৃষ্ঠায় বা স্লাইডশো / ভিডিও প্লেলিস্টকে সরিয়ে না রেখে মেশিনটিকে রিবুট করার কোনও উপায় ছাড়াই সীমাবদ্ধ একটি পূর্ণ-স্ক্রিন ভিউ প্রদর্শন করে।

এটি আসলে ওয়েব ভিউ (এইচটিএমএল / এইচটিএমএল 5 পৃষ্ঠাগুলি প্রদর্শন) এবং একটি মাল্টিমিডিয়া ভিউ (চিত্র স্লাইডশো এবং ভিডিও প্লেয়ার) উভয়ই প্রদর্শন করতে পারে। ওয়েব ভিউয়ের তিনটি পৃথক সম্ভাব্য সাব-ভিউ রয়েছে: ফায়ারফক্স, ক্রোমিয়াম এবং মিডোরি (জ্ন্যাশ সমর্থন সহ)।

ক্রোম এবং মিডোরি অভিজ্ঞতাগুলি 2.0 সংস্করণের বৈশিষ্ট্য।

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