আবহাওয়া, ক্যালেন্ডার, সময় এবং সিসিনফো সহ টার্মিনাল স্প্ল্যাশ স্ক্রিন?


12

আমি উইন্ডোজ 10 টার্মিনালের স্প্ল্যাশ স্ক্রিনের নীচে একটি উবুন্টু বাশ দেখেছি: লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম লিনাক্সের বিতরণ প্রদর্শন করে?

ডাব্লুএসএল বাশ স্ক্রিনি

আমি কীভাবে ~/.bashrcনিয়মিত উবুন্টুতে দেখতে দেখতে একইরকম স্প্ল্যাশ স্ক্রিন পেতে আমার পরিবর্তন করতে পারি ?:

টার্মিনাল স্প্ল্যাশ স্ক্রিন

উত্তর:


13

now বাশ স্ক্রিপ্ট

দ্রষ্টব্য: উবুন্টু 18.04 এলটিএসের জন্য এপ্রিল 28, 2018 আপডেট হয়েছে

ভারী উত্তোলন স্প্ল্যাশ উপাদান যা এটি দেখায়:

$ now

Weather report: Edmonton               March 2018            ┌────────────────────────────┐
                                  Su Mo Tu We Th Fr Sa          ┏━┓╺┓  ┏━┓┏━┓   ┏━┓┏┳┓   
     \   /     Sunny                           1  2  3          ┃┃┃  ╹┏━┛┗━┫   ┣━┛┃┃┃   
      .-.      -23--14 °C          4  5  6  7  8  9 10          ┗━┛╺┻╸╹┗━╸┗━┛         
    (   )     22 km/h          11 12 13 14 15 16 17       └────────────────────────────┘
      `-’      14 km              18 19 20 21 22 23 24  
     /   \     0.9 mm             25 26 27 28 29 30 31  

হ্যাঁ এডমন্টনে এটি সত্যই -14 এবং -23 এর মতো অনুভূত হয়। সদ্য আগত টম্ব রাইডার 2013 খেলে দীর্ঘ সপ্তাহান্তে কাটানোর জন্য একটি ভাল সময়! ভ্যানকুভার বা মন্ট্রিয়ালে যেতে পুনরায় চালু হতে পারে ...

কোডটি এখানে:

#!/bin/bash

# NAME: now
# PATH: $HOME/bin
# DESC: Display current weather, calendar and time
# CALL: Called from terminal or ~/.bashrc
# DATE: Apr 6, 2017. Modified: May 24, 2019.

# UPDT: 2019-05-24 If Weather unavailable nicely formatted error message.

# NOTE: To display all available toilet fonts use this one-liner:
#       for i in ${TOILET_FONT_PATH:=/usr/share/figlet}/*.{t,f}lf; do j=${i##*/}; toilet -d "${i%/*}" -f "$j" "${j%.*}"; done

# Setup for 92 character wide terminal
DateColumn=34 # Default is 27 for 80 character line, 34 for 92 character line
TimeColumn=61 # Default is 49 for   "   "   "   "    61 "   "   "   "

# Replace Edmonton with your city name, GPS, etc. See: curl wttr.in/:help
curl wttr.in/Edmonton?0 --silent --max-time 3 > /tmp/now-weather
# Timeout #. Increase for slow connection---^

readarray aWeather < /tmp/now-weather
rm -f /tmp/now-weather

# Was valid weather report found or an error message?
if [[ "${aWeather[0]}" == "Weather report:"* ]] ; then
    WeatherSuccess=true
    echo "${aWeather[@]}"
else
    WeatherSuccess=false
    echo "+============================+"
    echo "| Weather unavailable now!!! |"
    echo "| Check reason with command: |"
    echo "|                            |"
    echo "| curl wttr.in/Edmonton?0    |" # Replace Edmonton with your city
    echo "|   --silent --max-time 3    |"
    echo "+============================+"
    echo " "
fi
echo " "                # Pad blank lines for calendar & time to fit

#--------- DATE -------------------------------------------------------------

# calendar current month with today highlighted.
# colors 00=bright white, 31=red, 32=green, 33=yellow, 34=blue, 35=purple,
#        36=cyan, 37=white

tput sc                 # Save cursor position.
# Move up 9 lines
i=0
while [ $((++i)) -lt 10 ]; do tput cuu1; done

if [[ "$WeatherSuccess" == true ]] ; then
    # Depending on length of your city name and country name you will:
    #   1. Comment out next three lines of code. Uncomment fourth code line.
    #   2. Change subtraction value and set number of print spaces to match
    #      subtraction value. Then place comment on fourth code line.
    Column=$((DateColumn - 10))
    tput cuf $Column        # Move x column number
    # Blank out ", country" with x spaces
    printf "          "
else
    tput cuf $DateColumn    # Position to column 27 for date display
fi

# -h needed to turn off formating: /ubuntu/1013954/bash-substring-stringoffsetlength-error/1013960#1013960
cal > /tmp/terminal1
# -h not supported in Ubuntu 18.04. Use second answer: /ubuntu//a/1028566/307523
tr -cd '\11\12\15\40\60-\136\140-\176' < /tmp/terminal1  > /tmp/terminal

CalLineCnt=1
Today=$(date +"%e")

printf "\033[32m"   # color green -- see list above.

while IFS= read -r Cal; do
    printf "%s" "$Cal"
    if [[ $CalLineCnt -gt 2 ]] ; then
        # See if today is on current line & invert background
        tput cub 22
        for (( j=0 ; j <= 18 ; j += 3 )) ; do
            Test=${Cal:$j:2}            # Current day on calendar line
            if [[ "$Test" == "$Today" ]] ; then
                printf "\033[7m"        # Reverse: [ 7 m
                printf "%s" "$Today"
                printf "\033[0m"        # Normal: [ 0 m
                printf "\033[32m"       # color green -- see list above.
                tput cuf 1
            else
                tput cuf 3
            fi
        done
    fi

    tput cud1               # Down one line
    tput cuf $DateColumn    # Move 27 columns right
    CalLineCnt=$((++CalLineCnt))
done < /tmp/terminal

printf "\033[00m"           # color -- bright white (default)
echo ""

tput rc                     # Restore saved cursor position.

#-------- TIME --------------------------------------------------------------

tput sc                 # Save cursor position.
# Move up 8 lines
i=0
while [ $((++i)) -lt 9 ]; do tput cuu1; done
tput cuf $TimeColumn    # Move 49 columns right

# Do we have the toilet package?
if hash toilet 2>/dev/null; then
    echo " $(date +"%I:%M %P") " | \
        toilet -f future --filter border > /tmp/terminal
# Do we have the figlet package?
elif hash figlet 2>/dev/null; then
#    echo $(date +"%I:%M %P") | figlet > /tmp/terminal
    date +"%I:%M %P" | figlet > /tmp/terminal
# else use standard font
else
#    echo $(date +"%I:%M %P") > /tmp/terminal
    date +"%I:%M %P" > /tmp/terminal
fi

while IFS= read -r Time; do
    printf "\033[01;36m"    # color cyan
    printf "%s" "$Time"
    tput cud1               # Up one line
    tput cuf $TimeColumn    # Move 49 columns right
done < /tmp/terminal

tput rc                     # Restore saved cursor position.

exit 0

ফাইল পরিবর্তনগুলি Save ~ / .bashrc সংরক্ষণ করুন।

উবুন্টু তথ্য প্রদর্শন করতে আপনার প্রয়োজন screenfetch:

sudo apt install screenfetch

screenfetchআশেপাশে কেনাকাটা করার মতো একই ডিসপ্লে প্যাকেজ রয়েছে!

আপনি যদি কমান্ডের মধ্যে বিভাজনকারী রেখা "with" সহ একই কমান্ড প্রম্পট চান তবে এই লাইনগুলি পরিবর্তন করুন:

if [ "$color_prompt" = yes ]; then
    PS1='───────────────────────────────────────────────────────────────────────────────────────────
${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='───────────────────────────────────────────────────────────────────────────────────────────
${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

বিভাজক রেখার দৈর্ঘ্য screenfetchআউটপুট প্রস্থের সাথে মিলে যায় তা নোট করুন । এক্ষেত্রে এটি 92 টি অক্ষরের প্রশস্ত এবং gnome-terminalপছন্দ অনুসারে পছন্দগুলি সেট করা আছে।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
টমাস ওয়ার্ড

@ WinEunuuchs2 ইউনিক্স আপনি কি এখন বাশ স্ক্রিপ্টকে একটি গিথুব সংগ্রহস্থল তৈরি করতে পারেন? টার্মিনাল উইন্ডোটি পুনরায় আকার দেওয়ার (হার্ড ডেস্কলাইন র‌্যাঙ্কিং টার্মিনালগুলিতে ডাব্লুএসএল) এবং আরও কয়েকটি বিভাগে কীভাবে একাধিক ভাষার জন্য সাপোর্ট অন্তর্ভুক্ত করার জন্য ক্যালেন্ডারে উন্নতি করতে হবে তা আমার কিছু সংশোধনযোগ্য সংস্করণ কিছুটা ডিফেরেন্ট তবে স্কেলযোগ্য: ডি
পেপে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.