সম্পূর্ণ জাল রিবুট [বন্ধ]


21

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

নিয়ম।

  1. আপনি যে কোনও ওএস অনুকরণ করতে পছন্দ করতে পারেন। উদাহরণস্বরূপ আপনি উইন্ডোজ বা আপনার চয়ন করা অন্য কোনও সংমিশ্রণ থেকে লিনাক্সে পুনরায় বুট করতে পারেন।
  2. কোডটি সম্পূর্ণ শাট ডাউন / রিবুট সিকোয়েন্স পূর্ণ স্ক্রিনটি প্রদর্শিত হবে যাতে কোনও চিহ্ন নেই যে এটি আসল নয়।
  3. এটি একটি জনপ্রিয়তার প্রতিযোগিতা তাই শীতল আরও ভাল।
  4. কোডটি অবশ্যই বাস্তবে সম্পূর্ণ নিরীহ হতে হবে, কোনও পুনরায় চালু না করা এবং যে কোনও মুহুর্তে প্রস্থান করা সহজ।
  5. আপনার যদি পুনরায় বুটটি আরও বাস্তবসম্মত দেখাতে বাহ্যিক চিত্রগুলি ব্যবহার করার প্রয়োজন হয় তবে আপনার কোডটি ওয়েব থেকে স্বয়ংক্রিয়ভাবে সেগুলি গ্রহণ করবে।
  6. আপনার কোডটি স্বতঃ অন্তর্ভুক্ত হওয়া উচিত, কেবলমাত্র স্ট্যান্ডার্ড অবাধে উপলভ্য লাইব্রেরি বা সরঞ্জামগুলির উপর নির্ভর করে এবং আপনি সরবরাহিত নির্দেশাবলী অনুসরণ করে সহজেই সম্পাদনযোগ্য।
  7. শুভকামনা!

এটি একটি জনপ্রিয়তা প্রতিযোগিতা হিসাবে, আমি 1 জুন, 2014-এ সর্বাধিক সংখ্যক ভোট দিয়ে উত্তরের জিতটি দেব।


প্রশ্ন সংকীর্ণ করার জন্য একটি অনুরোধ অনুসরণ করে, এখানে একটি অতিরিক্ত নিয়ম।

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

আগ্রহী ব্যক্তিরা পিচ অন্ধকার (আর্থ আওয়ার স্মরণ) দেখতে চাইতে পারেন যেখানে এক্সটার্মে শুরু করার পরেও পুরো পর্দা ব্যবহার করার জন্য বেশ কয়েকটি উপায়ের পরামর্শ দেওয়া হয়।


2
যেমন দাঁড়িয়ে আছে, এই প্রশ্নটি খুব বিস্তৃত। যে সিস্টেমে নকল হওয়া উচিত তা সীমাবদ্ধ না করে (অন্তত - এই তালিকাটি বিস্তৃত হতে পারে না) সমস্যাগুলিতে চলে: ক) তত্ক্ষণাত্ পুনরায় চালু হওয়া পুরানো রম-ভিত্তিক সিস্টেমগুলির সাথে এবং একটি চিত্র প্রদর্শন করে নকল হতে পারে; খ) কোনও নকল যখন গ্রহণযোগ্যতার মানদণ্ড পূরণ করে বা না তা নির্ধারণের সাথে উদাহরণস্বরূপ, যখন আমি যে কম্পিউটারটি চালাচ্ছি তা মাল্টি-হেড এবং নকল ওএস মাল্টি-হেডকে সমর্থন করে না (বা কোনও মাথাতেই নেই)।
পিটার টেলর

@ পিটারটেলর আমি আশা করছিলাম যে টাইপ এ এর ​​উত্তরগুলি কেবলমাত্র কম ভোট পাবে এবং এটি জনপ্রিয়তার প্রতিযোগিতা হিসাবে ঠিক আছে। আপনি যদি আমাকে এটি পয়েন্ট হ্যান্ডেল করতে পরিমার্জন করতে সহায়তা করতে পারেন) আমি খুব কৃতজ্ঞ হব।

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

@ পিটারটেলর ধন্যবাদ আমি সুযোগটি খুব সংকীর্ণ করেছি। এখন কেমন আছে?

গাহ, আমার প্রায় খাঁটি আর্লিনাক্সের জন্য একটি নিখুঁত সমাধান ছিল (কোনও বুট স্প্ল্যাশ নয়, কেবল কার্নেল বার্তা এবং BIOS)। আমার অবশ্যই বলতে হবে, আমি কিছু সুন্দর গ্রাফিক্স প্রদর্শন করতে বুট-এ সিপিইউ চক্রগুলি নষ্ট করার বিষয়টি বুঝতে পারি নি।
আধা-বহিরাগত

উত্তর:


18

zsh + কোরিউটিলস + unclutter + অ্যামিক্সার + এক্সটারম (আর্চ লিনাক্স)

আমি উত্তর @ ডক্টর দ্বারা নিয়েছিলাম এবং এটি নিয়ে দৌড়েছি। এই সংস্করণটির অনেক উন্নতি হয়েছে, এবং আমার আর্চ লিনাক্স সিস্টেমে অভিজ্ঞ ব্যবহারকারীর (আমাকে) কাছে 99% সন্ততিযুক্ত। আমি Zsh ব্যবহার করি কারণ এটিতে ভাল অ্যারে এবং ভাসমান-পয়েন্ট নম্বর সমর্থন রয়েছে।
নির্ভরতা: ফিহ, আনল্টটার, অ্যামিক্সার, জেডএস, এক্সটার্ম

উন্নতি:

1) dmesg দ্বারা প্রথম কলামে মুদ্রিত নম্বরটি ব্যবহার করুন যা বুটের পরে সময় হয়েছে (যেমন [0.000000]) ঘুমানোর সময় নির্ধারণ করার জন্য। এটি ছাড়া এটি আমার মেশিনে অবাস্তব লাগে। এই বারগুলি লুপের আগে পার্স করা হয় (ঘুমের প্রথম দিকে) কারণ লুপটির ভিতরে পার্সিং খুব ধীর হয়।

২) বুট থেকে 16 সেকেন্ডের চেয়ে বড় লাইনগুলি মুদ্রণ করবেন না। এই নির্দিষ্ট নম্বরটি মেশিন নির্ভর

3) কালো ব্যাকগ্রাউন্ড এবং সাদা পাঠ্য সহ একটি ফুলস্ক্রিন টার্মিনাল উইন্ডোতে এগুলি করুন। এই কৌশলটির জন্য কুডোস টু মেকানিকাল শামুক ব্যবহৃত: "হ্যালো ওয়ার্ল্ড!" দিয়ে একটি পিএনজি চিত্র তৈরি করুন সংক্ষিপ্ততম কোডে প্রোগ্রামিং এপিআই সহ with

৪) অডিওটি বন্ধ করার সময় নিঃশব্দ করুন, স্ক্রিপ্ট শেষ হলে ভলিউম পুনরুদ্ধার করুন।

5) মাউস কার্সারটি লুকান, স্ক্রিপ্ট শেষ হলে পুনরুদ্ধার করুন।

6) BIOS এবং সিসলিনাক্স স্প্ল্যাশ স্ক্রিন প্রদর্শন করুন।

সাথে চালান: xterm -fu -fg সাদা -bg কালো -e '/ usr / বিন / zsh জাল-reboot.sh'

কোড:

#!/usr/bin/zsh
# Remove (undisplay) the mouse pointer
unclutter -idle 0 -jitter 255 &
# Since there is no easily-accessible (i.e. without being root) shutdown log, we
# fake these messages.
echo "The system is going down for maintenance NOW."
sleep 2.0
echo "[21656.404742] systemd[1]: Shutting down."
echo "[21656.404742] systemd[1]: Stopping Session 1 of user `id -u -n`."
echo "[21656.404742] systemd[1]: Stopped Session 1 of user `id -u -n`."
echo "[21656.404742] systemd[1]: Stopping Sound Card."
# For added effect, store volume and then mute sound
volume=`amixer -- sget Master | awk -F'[][]' 'END{print $2}'`
amixer -- sset Master 0% &> /dev/null
echo "[21656.404742] systemd[1]: Stopped target Sound Card."
sleep 0.5
echo "[21656.919792] systemd[1]: Stopping system-systemd\x2dfsck.slice."
echo "[21656.919792] systemd[1]: Removed slice system-systemd\x2dfsck.slice."
echo "[21656.919792] systemd[1]: Stopping system-netctl\x2difplugd.slice."
echo "[21656.919793] systemd[1]: Removed slice system-netctl\x2difplugd.slice."
echo "[21656.919793] systemd[1]: Stopping User Manager for UID `id -u`..."
sleep 0.7
echo "[21657.624741] systemd[1]: Stopping Graphical Interface."
echo "[21657.624742] systemd[1]: Stopped target Graphical Interface."
echo "[21657.624745] systemd[1]: Stopping Multi-User System."
sleep 0.9
echo "[21658.606561] systemd[1]: Stopped target Multi-User System."
echo "[21658.606562] systemd[1]: Stopping Paths."
echo "[21658.606562] systemd[1]: Stopped D-Bus System Message Bus."
echo "[21658.606562] systemd[1]: Stopped target Paths."
echo "[21658.606568] systemd[1]: Stopping Timers."
echo "[21658.606568] systemd[1]: Stopped target Timers."
echo "[21658.606568] systemd[1]: Stopping Sockets."
echo "[21658.606568] systemd[1]: Stopped target Sockets."
echo "[21658.606568] systemd[1]: Starting Shutdown."
echo "[21658.606571] systemd[1]: Reached target Shutdown."
echo "[21658.606571] systemd[1]: Starting Exit the Session..."
echo "[21658.606571] systemd[1]: Received SIGRTMIN+26 from PID 10988 (kill)."
echo "[21658.606571] systemd[1]: Deactivated swap."
sleep 0.4
echo "[21659.001741] systemd[1]: Starting Unmount All Filesystems."
echo "[21659.001742] systemd[1]: Unmounted /home."
echo "[21659.001742] systemd[1]: Reached target Unmount All Filesystems."
echo "[21659.001742] systemd[1]: Stopping Remount Root and Kernel File Systems..."
echo "[21659.001742] systemd[1]: Stopped Remount Root and Kernel File Systems."
echo "[21659.001743] systemd[1]: Reached target Shutdown."
echo "[21659.001743] systemd[1]: Starting Final Step."
echo "[21659.001743] systemd[1]: Reached target Final Step."
echo "[21659.001754] systemd[1]: Shutting down."
sleep 0.3
echo "[21659.304341] systemd-journal[250]: Journal stopped"
sleep 0.2
echo "System halted."
sleep 2
clear
sleep 1
# Get the BIOS splash screen and display it
wget http://pvv.ntnu.no/~asmunder/bios.jpg  &> /dev/null
feh -Z -x -F -N --force-aliasing bios.jpg &
pid=$! # Store PID of Feh, so we can kill it later
# While showing the BIOS splash, use the time to parse dmesg output into arrays
tim=`dmesg | awk '{print $2}' | sed 's/]//' | grep "[0-9][0-9][0-9][0-9][0-9]"`
tim=($=tim)
dmsg=("${(@f)$(dmesg)}")
sleep 2.5
kill $pid
sleep 0.5
# Get the Syslinux splash and display it
wget http://pvv.ntnu.no/~asmunder/syslinux.png  &> /dev/null
feh -Z -x -F -N --force-aliasing syslinux.png &
pid=$!
sleep 1.3
kill $pid
# Loop through the arrays we created. Calculate the time we have to wait before
# displaying this line. If the wait time is less than 0.1 sec, we skip waiting.
T1=0.0
T2=0.0
n=0
for d in $dmsg; do
  T1=$T2
  T2=${tim[$n]}
  ((dT = $T2-$T1))
  if (( $dT > 0.1));then
    sleep $dT
  fi
  echo $d
  if (( $T2 > 16.0 )); then
    break
  fi
  ((n=$n+1))
done
sleep 1
clear
# It's normally agetty that parses /etc/issue and handles escape codes in a 
# special way. Thus we skip the first line of /etc/issue and do that manually.
echo "Arch Linux "`uname -r`" (tty1)"
tail -n +2 /etc/issue 
echo `hostname`" login:"
sleep 10
# Reset the mouse pointer so it is visible again
unclutter -idle 5 -jitter 0 &
# Reset the audio volume
amixer -- sset Master $volume &> /dev/null

3
এটি সত্যিই ভাল এবং এখনও পর্যন্ত আমি সবচেয়ে চিত্তাকর্ষক যাচাই করতে সক্ষম হয়েছি।

খুব সুন্দর, অনেকগুলি বুট স্ক্রিন
ক্লাউডিয়ু

হাহাহা, আপনি আমার নিজের প্রশ্নটি যুক্ত করেছেন! তবে এটি সেখানে খুব ভাল কোড। আমি এটি চেষ্টা করতে যাচ্ছি।
figgycity50

cat /etc/issue | tail -n +2 : বিড়ালের অকেজো ব্যবহারtail -n +2 /etc/issueসহজ, বিশেষত যখন পাইপলাইন নেই।
পিটার কর্ডস

ভাল যুক্তি. এটি স্থির করে, এবং ভাঙ্গা লিঙ্কগুলি স্থির করে।
আধা-বহিরাগত

12

কমোডোর 64

1?CHR$(147)
2?"    **** COMMODORE 64 BASIC V2 ****"
3?
4?" 64K RAM SYSTEM  38911 BASIC BYTES FREE"

বেসিক ইন্টারপ্রিটার READY.স্বয়ংক্রিয়ভাবে প্রম্পটটি প্রদর্শন করবে ।


2
আমি 1 POKE 53280,6:POKE 53281,14:?CHR$(159):?CHR$(147) রং 1 থেকে: পরিবর্তন করার পরামর্শ দিচ্ছি ... রংগুলি সঠিক কিনা তা নিশ্চিত করার জন্য।
চিহ্নিত করুন

নিয়ম মেনে না নিলেও আমার চোখে অশ্রু আনার জন্য +1।
ClickRick

10

টিআইবি-বেসিক

AxesOff
GridOff
LabelOff
CoordOff
ClrDraw
DispGraph
ClrHome

2
আমার টিআই -৩ Plus প্লাসে এটি "সম্পন্ন" দেখায়, ডান্নো যদি এটি নিয়মগুলি ভঙ্গ করে ...
জোশুয়া

1
"সম্পন্ন" এড়াতে আপনার একক উদ্ধৃতি দিয়ে একটি অতিরিক্ত লাইন যুক্ত করা উচিত।
টিমটেক

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

10

বাশ + কোরিউটিলস (লিনাক্স)

echo "The system is going down for maintenance NOW."
clear
sleep 5
dmesg|while read i; do echo "$i"; sleep 0.1; done
cat /etc/issue
login

ভার্চুয়াল টার্মিনাল থেকে চালানো ভাল। যদি এটি এক্সটার্মে শুরু হয় তবে এটির পুরো পর্দা তৈরি করার কোনও উপায় আছে কি? আমি মনে করি সেই মুহুর্তে আপনি মূলত একটি স্ক্রিনসেভার বাস্তবায়ন করছেন।

@ লম্বিক xterm -fullscreen?


ম্যাক এ চেষ্টা করে; কাজ করে না
জোস্টি

2
@ জওস্টি অন ওএস এক্স (ম্যাভেরিক্স, ১০.৯) আপনার কাছে সুপার ব্যবহারকারীর সুবিধাগুলি থাকা দরকার, তাই এটির dmesgসাথে প্রতিস্থাপন করুন sudo dmesg। ওএস এক্স
ফুথারমোর

5

জানালা 8

অদ্ভুত প্রচেষ্টা, আমি কীভাবে পূর্ণ স্ক্রিনটি অটো করব তা বুঝতে পারি না। আমি চেষ্টা করেছিলাম.

<!DOCTYPE html>
<html>
<body>

<iframe width="1600" height="900" src="http://www.youtube.com/embed/VgQ87b7muWs?start=510&end=524&autoplay=1" frameborder="0" allowfullscreen></iframe> 

</body>
</html>

3
আপনি এইচটিএমএল 5 এপিআইয়ের জন্য অনুসন্ধান করতে পারেন Element.RequestFullScreen()( বিকাশকারী.মোজিলা.আর.ইন.ইউএস
ডকস /

4

পাইথন / পাইগাম ওএসএক্স

import pygame, time, os, urllib # Import Modules
pygame.init() # Initalise Pygame
pygame.mouse.set_visible(0) # Hide the Cursor
stdscr = pygame.display.set_mode((1280,800),pygame.FULLSCREEN) # Set up the display
stdscr.fill((255,255,255)) # Fill the screen white
urllib.urlretrieve("http://harrybeadle.github.io/FakeRestart/apple.bmp", "apple.bmp") # Get Apple Logo
urllib.urlretrieve("http://harrybeadle.github.io/FakeRestart/startup.wav", "startup.wav") # Get Startup Sound
time.sleep(1) # Wait for 1 second, screen still black
applelogo = pygame.image.load('apple.bmp').convert() # Load the Logo
pygame.mixer.music.load('startup.wav') # Load the Bung
stdscr.blit(applelogo,(580, 340)) # Blit the logo
pygame.mixer.music.play(1) # Play the sound
pygame.display.flip() # Flip the buffers
time.sleep(5) # Wait 5 seconds
pygame.quit() # Quit the pygame window
os.remove('apple.bmp') # Delete logo
os.remove('startup.wav') # Delete bung
os.system('/System/Library/CoreServices/"Menu Extras"/User.menu/Contents/Resources/CGSession -suspend') # Lock the Mac

এখন আপডেট!

বৈশিষ্ট্য:

  • কাল পর্দা
  • হোয়াইট স্ক্রিন ডাব্লু / অ্যাপল লোগো এবং বাং শব্দ
  • ব্যবহার করে গিটহাব থেকে সম্পদগুলি ডাউনলোড হয়েছে urlib
  • টার্মিনাল কমান্ড এবং ব্যবহার করে যে কোনও কাজ সংরক্ষণ করে ব্যবহারকারীর ম্যাক লক করে os.system()

খুশী হলাম। গৌণ নিতপিক - বিধিগুলি বলে: "যদি আপনাকে পুনরায় বুটটি আরও বাস্তবসম্মত দেখানোর জন্য বাহ্যিক চিত্রগুলি ব্যবহার করতে হয় তবে আপনার কোডটি ওয়েব থেকে স্বয়ংক্রিয়ভাবে সেগুলি গ্রহণ করবে" "
আধা-বহিরাগত

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

1
@ আধা-বহিরাগত আমার আগের মন্তব্যটি স্ক্র্যাপ করুন, কার্যকারিতা যুক্ত হয়েছে।
হ্যারি বিডল

এটি কেবলমাত্র কয়েক সেকেন্ডের জন্য অ্যাপল লোগোটিকে পূর্ণ স্ক্রিন দেখায়। এটি অবশ্যই "বুং" দরকার :)

@ ল্যাম্বিক আমি যুক্ত করেছি যে এখন নির্ভরযোগ্যতার জন্য সম্পদগুলি গিটহাবে স্থানান্তরিত করার পাশাপাশি :)
হ্যারি বিডল

2

এইটি "শান্ত" এবং "init = / বিন / শ" পরামিতিগুলির সাথে লিনাক্স করে

#!/bin/sh
echo shutting down
sleep 1
clear
echo Press F12 to enter setup. #everyone forgets the BIOS
sleep 1
clear

সাধারণত সিস্টেমগুলি হয় একটি চিত্র বা কনসোল আউটপুট দেখায়। এবং সবার
বায়োগুলি এফ

1
@ মাস্টারএক্স ২৪৪ - চিত্রটি লিনাক্সের একটি কনফিগারযোগ্য বিল্ড বিকল্প। নিঃশব্দে কোনও কার্নেল আউটপুট নেই এবং init = / bin / sh এর সাথে কোনও প্রারম্ভিক আউটপুট নেই কারণ init কেবল শেল শুরু করতে পারে। আপনার এটি একবারে চেষ্টা করা উচিত এবং এক্সটি শুরু করার জন্য ঠিক কী প্রয়োজন তা দেখতে হবে dev
টেকনোসরাসটি 12'14

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