লগইন শেল-এ প্রদর্শিত কীভাবে আমি পরিবর্তন করতে পারি?


23

আমি প্রম্পট ( .bashrc) এর মাধ্যমে শেলটিতে জিনিসগুলি কীভাবে দেখি তার সাথে টুইট করার সাথে আমি আরও পরিচিত হয়ে উঠছি, তবে আমি এখন প্রথম লগ ইন করার সময় প্রদর্শিত প্রাথমিক স্টাফটি পরিবর্তন করার চেষ্টা করছি my আমার ইসি 2 উদাহরণে, এটি আমি যখন দেখি আমি লগ ইন:

         __|  __|_  )  Fedora 8
         _|  (     /    32-bit
        ___|\___|___|


  Welcome to: 

    Wowza Media Server 2 for Amazon EC2

      Version: 2.0.0.08

আমার বাড়ির পুদিনা কম্পিউটারে, লগ ইন করার সময় আমি এখানে যা দেখি তা এখানে:

Welcome to Linux Mint 11 Katya (GNU/Linux 2.6.38-8-generic x86_64)

Welcome to Linux Mint
* Documentation:  http://www.linuxmint.com

Last login: Tue Jun 21 17:44:05 2011

কোথায় এটি সংজ্ঞায়িত করা হয়? কিছু পাগল ASCII আর্ট অ্যাকশনের জন্য আমি কীভাবে এটি টুইট করতে পারি ?

উত্তর:


31

লগইন প্রম্পটে সংরক্ষণের পূর্বে প্রদর্শিত পাঠ্যটি /etc/issue( /etc/motdশেল শুরুর আগে ব্যবহারকারীদের লগ-ইন করার পরে এটি সম্পর্কিত একটি ফাইল রয়েছে যা প্রদর্শিত হবে)। এটি কেবলমাত্র একটি সাধারণ পাঠ্য ফাইল, তবে এটি পালাবার ক্রমগুলির একগুচ্ছ গ্রহণ করে:

  • \b - বর্তমান লাইনের বোড্রেট
  • \d -- বর্তমান তারিখ.
  • \s - সিস্টেমের নাম, অপারেটিং সিস্টেমের নাম।
  • \l - বর্তমান টিটি লাইনের নাম।
  • \m- মেশিনের আর্কিটেকচার সনাক্তকারী, যেমন eg i486
  • \n - মেশিনের নডনাম, হোস্টনাম হিসাবেও পরিচিত।
  • \o - মেশিনের ডোমেন নাম।
  • \r- ওএসের মুক্তির সংখ্যা, যেমন। 1.1.9।
  • \t -- বর্তমান সময়.
  • \u - লগ ইন করা বর্তমান ব্যবহারকারীর সংখ্যা।
  • \U - "1 ব্যবহারকারী" বা "ব্যবহারকারী" স্ট্রিংটিতে লগ ইন হওয়া বর্তমান ব্যবহারকারীর সংখ্যা।
  • \v- ওএস এর সংস্করণ, যেমন বিল্ড-ডেট ইত্যাদি

আমার যন্ত্রটিতে আমার রয়েছে:

এটি হ'ল \ n (\ s \ m \ r) \ t \ l

যা হিসাবে রেন্ডার করা হয়:

এটি এটিউডস -১ (লিনাক্স x86_64 2.6.39-হিন্টু) 17:43:10 টিটিআই 1


6

লগইন প্রোগ্রাম দ্বারা প্রদর্শিত ফাইল /etc/issueএবং /etc/issue.netফাইলগুলি। অন্যান্য উত্তরে উল্লিখিত হিসাবে আপনি এতে বিশেষ প্রসারণ অক্ষর রাখতে পারেন। তবে আপনি লিনাক্স_লোগো প্রোগ্রামটিও দেখতে চাইতে পারেন । এটি আপনার জন্য সত্যই দুর্দান্ত ASCII আর্ট ইস্যু ফাইল তৈরি করতে পারে।


4

ব্যবহারকারী লগ ইন করার পরে প্রদর্শিত বার্তাগুলি সম্পর্কে স্পষ্টভাবে জিজ্ঞাসা করছে, লগইন + পাসওয়ার্ড দেওয়ার আগে সমস্ত "/ etc / ইস্যু" প্রদর্শিত হয় তাই অফ-টপিক হয়।

'লগইন শেল' পদক্ষেপগুলি হ'ল:

  1. "/ ইত্যাদি / ইস্যু" এ থাকা বার্তাগুলি দেখান
  2. ব্যবহারকারী এবং পাস জিজ্ঞাসা করুন
  3. দিনের বার্তা দেখান থেকে:

    / Etc / motd

    /etc/update-motd.d

  4. / etc / প্রোফাইল এবং ~ / .bash_profile শুরু করুন

NB .bashrc NON লগইন শেলের জন্য কার্যকর করা হয়

@ নাফতুলি কে আপনার ASCII শিল্পকে / etc / motd এ যুক্ত করুন বা /etc/update-motd.d অথবা / etc / প্রোফাইলে ব্যবহারকারীর স্বতন্ত্র প্রিন্টের জন্য স্ক্রিপ্ট যুক্ত করুন বা একক ব্যবহারকারী প্রিন্টের জন্য। / .Bash_profile


3

জিজ্ঞাসা উবুন্টু থেকে :

উবুন্টু স্প্ল্যাশ স্ক্রিন.পিএনজি

পরীক্ষা করে দেখুন উবুন্টু জিজ্ঞাসা করুন অন্যান্য ব্যবহারকারীদের কাছ থেকে মতামত ও সম্ভবত নতুন উত্তরের জন্য উপরের লিঙ্কটি।

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

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

$ 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: Mar 30, 2018.

# 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 "   "   "   "

#--------- WEATHER ----------------------------------------------------------

# Current weather, already in color so no need to override
echo " "
# Replace Edmonton with your city name, GPS, etc. See: curl wttr.in/:help
curl wttr.in/Edmonton?0 --silent --max-time 3
# Timeout #. Increase for slow connection---^

echo " "
echo " "                # Pad with 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
while [ $((++i)) -lt 10 ]; do tput cuu1; done

# 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
printf "          "     # Blank out ", country" with x spaces
#tput cuf $DateColumn    # Position to column 27 for date display


# -h needed to turn off formating: /ubuntu/1013954/bash-substring-stringoffsetlength-error/1013960#1013960
cal -h > /tmp/terminal

CalLineCnt=1
Today=$(date +"%d")
# Prefix with space when length < 2
if [[ ${#Today} < 2 ]] ; then
    Today=" "$Today
fi
printf "\033[32m"   # color green -- see list above.

while IFS= read -r Cal; do
    printf "$Cal"
    if [[ $CalLineCnt > 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 "$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 9 lines
i=0
while [ $((++i)) -lt 10 ]; 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
# else use standard font
else
    echo $(date +"%I:%M %P") > /tmp/terminal
fi

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

tput rc                     # Restore saved cursor position.

exit 0

পূর্বশর্ত

অভিনব সময় প্রদর্শনের জন্য আপনাকে ইনস্টল করতে হবে toilet:

sudo apt install toilet

অন্য অভিনব সময় প্রদর্শনের জন্য (তবে যথেষ্ট অভিনব নয়) ইনস্টল করুন figlet:

sudo apt install figlet

অন্যথায় সময়টি "স্বাভাবিক" ফন্টে প্রদর্শিত হবে।

আবহাওয়া

আবহাওয়া curl wttr.in/cityname?0আদেশ দ্বারা সরবরাহ করা হয় । আপনার টার্মিনালে ব্যবহার করুন: curl wttr.in/:helpঅতিরিক্ত তথ্যের জন্য।

আবহাওয়া: শহরের নাম পরিবর্তন করুন

আপনি কোডের এই বিভাগটি সংশোধন করতে Edmontonএবং আপনার শহরের নাম পরিবর্তন করতে চাইবেন :

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

ইউনিকোড /Москва(মস্কো) এর মতো শহরের নামের জন্য সমর্থিত । YEGএডমন্টনের মতো বিমানবন্দরের অক্ষরগুলি সমর্থিত ।

আবহাওয়া: দেশের নাম সরান

টার্মিনালটি 92 টি অক্ষরের প্রশস্ততার জন্য সেট করা হলে আবহাওয়াটি "কানাডার এডমন্টন" হিসাবে প্রদর্শিত হয়। যা আমার পছন্দ মত দীর্ঘ

Country.png সঙ্গে আবহাওয়া

টার্মিনালটি 80 টি অক্ষরের প্রশস্ত ডিফল্ট জন্য সেট করা থাকলেও সবচেয়ে খারাপ orse

আবহাওয়ার দেশের নাম 80 chars.png

সমস্যাটি সমাধান করার জন্য, ", দেশের নাম" এই কোডটি দিয়ে পর্দায় ফাঁকা রাখা হয়েছে:

# 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
printf "          "     # Blank out ", country" with x spaces
#tput cuf $DateColumn    # Position to column 27 for date display

স্ক্রিপ্টের এই অংশে আপনার যদি সহায়তার প্রয়োজন হয় তবে দয়া করে সহায়তার জন্য নীচে মন্তব্য পোস্ট করুন।

টার্মিনাল স্ক্রিন প্রস্থ সামঞ্জস্য

পরিবর্তনের মাধ্যমে আপনার টার্মিনাল স্ক্রিনের প্রস্থের ব্যবধানটি সামঞ্জস্য করুন:

# 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 "   "   "   "

সব একসাথে বেঁধে রাখা ~/.bashrc

আপনার ~/.bashrcফাইল সম্পাদনা করুন এবং এই লাইনগুলি নীচে যুক্ত করুন:

# Splash Calendar and time
now

# ASCII Linux distribution display
screenfetch

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

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

sudo apt install screenfetch

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

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

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পছন্দ অনুসারে পছন্দগুলি সেট করা আছে।


1

আপনি লগ-ইন করার সময় একটি বার্তা প্রদর্শন করতে ssh ডিমনও কনফিগার করতে পারেন। Sshd_config ফাইলে ব্যানার নির্দেশের সাথে প্রদর্শন করতে ফাইলটি নির্দিষ্ট করুন:

Banner /etc/ssh/ssh_banner

ফাইলের নামটি যে কোনও ফাইল হতে পারে, তবে অস্পষ্টতার জন্য আমি এটিকে sshd_config ফাইলের সাথে / etc / ssh এ রাখি।


0

ডেবিয়ান হোস্টের /etc/rc.local এ নেটওয়ার্ক ঠিকানা সহ / ইত্যাদি / ইস্যু উত্পন্ন করার জন্য একটি ছোট স্ক্রিপ্ট।

/bin/echo "This is \n(\s \m \r) \t \l">/etc/issue
/bin/sleep 10 # This is optional, sometimes OS need more time to get ip address while DHCP, otherwise maybe you will get nothing :(
/sbin/ip a| /bin/grep inet| /bin/grep -v -E "inet6|127.0.0.1"| /bin/sed "s/\s*//"|/bin/sed "s/\/24.*//" >>/etc/issue

আপডেট: মনে হচ্ছে এটি "আইপি -4-বিআর" ধন্যবাদ @ ম্যাথিউ ক্যারাফের সাথে যথেষ্ট!


man ip-brসুইচটি ব্যবহার করুন । আপনি -4স্যুইচটিও ব্যবহার করতে চাইতে পারেন। আপনার আদেশটি ছোট করা যেতে পারে ip -br a | sed -nE 's:^(\w+)\s+UP\s+([0-9.]+)/.*$:\1 \2:p'। আরও ভাল, ব্যবহার hostname -I
ম্যাথিউ কার্ফএফ

0

এই এসএসএস ব্যানারটি ব্যবহারের জন্য গুরুত্বপূর্ণ: ডে হাইলাইটিং কেবল সিএল-এইচ-এর পরিবর্তে "এনসিএল-বিএইচবি / টিএমপি / টার্মিনাল" দিয়ে কাজ করে। cal -h আর কাজ করে না / বিদ্যমান নেই (উবুন্টু 18.04)

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