рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ
рдЯрдлреНрдЯреНрд╕ рдпреВрдирд┐рд╡рд░реНрд╕рд┐рдЯреА рдХрд╛ рдЫрд╛рддреНрд░ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рд░реВрдордореЗрдЯ рдХреЛ рдХреИрд╕реЗ рдЫреЗрдбрд╝рдирд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рддрдм рднреА рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдХрд╣рд╛рдиреА рд╢реБрд░реВ рдХреА рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЫрд╛рддреНрд░рд╛рд╡рд╛рд╕ рдореЗрдВ 4K рдЯреАрд╡реА рд╣реИред
рдкрд░рд┐рдЪрдп
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд▓реЛрдЧрд╛рди рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдпрд╛, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЕрдкрдиреЗ рдХрдорд░реЗ рдореЗрдВ рдореАрдбрд┐рдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЬрд▓реНрдж рд╣реА рдЖрдк рд╕рдордЭ рдЬрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреНрдпреЛрдВред
рд▓реЛрдЧрд╛рди, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдордЬрд╝рд╛ рдЖрдпрд╛ рдерд╛ред
рд╕реНрд╡рднрд╛рд╡
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдЙрдмрдВрдЯ рдЯреАрд╡реА рд╕реЗрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рд╡рд╣ рдПрдХ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЪреВрдБрдХрд┐ рдЙрд╕реЗ рдЕрднреА рднреА рдПрдХ рд╕реНрдерд╛рдпреА рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреБрдЫ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░, рдПрдХ рдПрд╕рдПрд╕рдПрдЪ рд╕рд░реНрд╡рд░ рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдВ рдЕрднреА рднреА рд╡рд╣рд╛рдВ рдШреВрдо рд░рд╣реА рд╣реИрдВред
рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЯреИрд▓реА 4K рд╣реИ, рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рд╣рд╛рде рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдирд╣реАрдВ рдЦреАрдВрдЪрддрд╛ рд╣реИред рд▓реЛрдЧрд╛рди рдиреЗ рдкреБрд░рд╛рдиреЗ NVIDIA рд╡рд┐рджреНрдпрд╛ рдХреЛ рдЦрд░реАрджрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ 4K рд╡реАрдбрд┐рдпреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреАрдврд╝рд┐рдпреЛрдВ рдкрд╣рд▓реЗ (рдЬреЛ рдЕрднреА рднреА рдпрд╣ рдЬрд┐рддрдирд╛ рдерд╛ рдЙрд╕рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ) рдЬрд╛рд░реА рдХрд┐рдпрд╛ред
рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЬрдиреНрдо
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдХреБрдЫ рд╣реА рд╕рдордп рдмрд╛рдж, рд╣рдордиреЗ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЬреЛрдбрд╝реА рдЧреНрд▓рд┐рдЯреНрд╕ рдирд┐рдХрд╛рд▓реАред рдЙрд╕ рд╕рдордп, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдордЬреЗрджрд╛рд░ рд╣реЛрдЧрд╛ред
рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреБрдЫ рдЦреЛрдЬреЛрдВ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рджреВрд░ рд╕реЗ рдХрд┐рд╕реА рдЯреЗрд▓реАрд╡рд┐рдЬрди рдкрд░ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдЙрддрдирд╛ рд╣реА рд╕рд░рд▓ рд╣реИ:
- рдкреНрд░рд╕рд╛рд░рдг рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ
DISPLAY=:0 zenity --info --text '!'
DISPLAY=:0
рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рд╕рддреНрд░ рдореЗрдВ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдВрджреЗрд╢ рдХреЛ рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЪреВрдБрдХрд┐ рд╣рдореЗрдВ NVIDIA vidyuha рдХреА рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд░рд╣рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:
DISPLAY=:0 zenity --warning --text ' .'
рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рд▓реЛрдЧрд╛рди рдиреАрдЪреЗ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП SSH рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд░реНрд╡рд░ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рдПрдХ рдРрд╕реА рдЦреБрд╢реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдзреЛрдЦрд╛ рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рддрд╛рдЬ рдореЗрдВ рдЙрд╕реЗ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ:
- рджрд░рдЕрд╕рд▓, рдирд┐рдпрдорд┐рддрддрд╛
- рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддрд╛рдЬ рдореЗрдВ рдЕрдиреНрдп рдХрд╛рд░реНрдп рдереЗ, рдЬрд┐рд╕рд╕реЗ рдореЗрд░реЗ рдХрдкрдЯрдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рд╣реЛрдиреЗ рдХрд╛ рдЦрддрд░рд╛ рдмрдврд╝ рдЧрдпрд╛
рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЬреИрд╕реЗ SysVInit рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЙрдиреНрд╣реАрдВ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдмрдЯрди "рд╣реИ рд▓реЛрдЧрд╛рди" рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдм рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рддреИрдпрд╛рд░реА рдХрд░реЗрдВ
рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореБрдЭреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ
- рдПрдХ рд╡реЗрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдордирдорд╛рдирд╛ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреБрдЫ
рддреЛ рдореИрдВ рдЖрдпрд╛:
- nginx
- рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдлрдкреАрдПрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди
- рдкреАрдПрдЪрдкреА
- PHP рдХреЗ рд▓рд┐рдП FPM рдкреИрдХреЗрдЬ
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореИрдВрдиреЗ logan.html
logan.html
рдкреГрд╖реНрда рдФрд░ "рдПрдХреНрд╢рди рдкреЗрдЬ"
zenity.php
рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдЯ рдмрдирд╛рдИ:
logan.html <html> <head> <style type="text/css"> form button { font-size: 20px; } div.explanation { width: 400px; } </style> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="HandheldFriendly" content="true"> </head> <body> <form method="POST" action="/zenity.php"> <button> </button> </form> </body> </html>
рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
meta
рдЯреИрдЧ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрдХрд╡рд╛рд╕ рд╣реИ (рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдореБрдЭреЗ рдЪрд▓рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ?) рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдореИрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ POST рдЕрдиреБрд░реЛрдз рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдкрд░ рдЙрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рдЧрдВрджреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
zenity.php <?php $messages = Array( " .", " .", " .", " .", " .", " .", " .", " .", " .", " .", " and has recovered.", " .", " .", " .", " .", " .", " .", " NVIDIA .", "NVIDIA - . ( 43)", " wlx10bef54d395c." ); $statuses = Array("error", "warning"); $msg = $messages[array_rand($messages)]; $status = $statuses[array_rand($statuses)]; $timeout = "--timeout 10"; exec("sudo -u thedisplayuser /usr/sbin/zenity --$status --display=:0 --text ': $msg' $timeout > /dev/null &"); include 'logan.html'; ?> <div class="explanation"> , . , // .. </div> <br /> <img src='/logan.jpg' />
рдпрд╣ рдкреГрд╖реНрда рдХрдИ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ
- рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред
- рд╕рдордп рдХреА рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ (10 рд╕реЗрдХрдВрдб) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
- рд╡рд╣ рдПрдХ рдмрдЯрди рдЦреАрдВрдЪрддрд╛ рд╣реИ рдФрд░ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ - рд╕рднреА рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд▓реЛрдЧрди рдХреА рдордЬреЗрджрд╛рд░ рддрд╕реНрд╡реАрд░ рдХреЗ рд╕рд╛рде
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрднреА рднреА рдЕрдкрдиреЗ рд╕рд┐рд░ рдореЗрдВ рдПрдЪрдЯреАрдПрдордПрд▓ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдлрд┐рд░, рдЙрдореНрдореАрдж рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ), рдкреГрд╖реНрда рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдпрджрд┐ рдЖрдк рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рд╡реЗрдм рдкреЗрдЬ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рд╣реИ, рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕рддреНрд░ (
www-data
) рдХреЗ рдорд╛рд▓рд┐рдХ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (
thedisplayuser
) рдХреЗ рд░реВрдк рдореЗрдВ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдХрд░ рдЦреБрд╢реА рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрдбрд╝рд╛рдИ рд╕реЗ рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред
sudoers
рдлрд╝рд╛рдЗрд▓:
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧ www-data рдХреЛ рдХреЗрд╡рд▓ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ thedisplayuser рдХреЗ рд░реВрдк рдореЗрдВ / usr / bin / zenity рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ PHP рдФрд░ NGINX рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмреЗрд╡рдХреВрдл рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдРрд╕рд╛ рдХрд┐рдпрд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ рдкрд░рд┐рд╕рд░ рдореЗрдВ рдХреБрдЫ рджреЛрд╕реНрддреЛрдВ рдХреЛ URL рднреЗрдЬрд╛ рдЬреЛ рд▓реЛрдЧрд╛рди рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо рдбреНрд░рд╛ рдХрд░реЗрдВ
рд╕реНрд╡рд░реНрдЧ рдХреА рд╕реНрддреБрддрд┐ рдХрд░реЛ, рд▓реЛрдЧрди рдиреЗ рд╣рд┐рдВрд╕рдХ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрдХреНрдд рдХреАред рдЕрдЧрд░ рд╡рд╣ рдереЛрдбрд╝рд╛ рдирд╛рд░рд╛рдЬ рд╣реЛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореЗрд░реА рдХреЛрд╢рд┐рд╢реЗрдВ рдмрд░реНрдмрд╛рдж рд╣реЛ рдЧрдИрдВ, рдореБрдЭреЗ рдЧреБрд╕реНрд╕рд╛ рдЖрдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдирд╣реАрдВ! рдЙрд╕рдиреЗ рдЕрдкрдирд╛ рдЖрдкрд╛ рдЦреЛ рджрд┐рдпрд╛ред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдЧрд┐рди рд╕рдХрддрд╛ рдХрд┐ рдХрд┐рддрдиреЗ рд░рд┐рдмреВрдЯ, рдбреНрд░рд╛рдЗрд╡рд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╢реЛрдзрди рдереЗред рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдкрдЫрддрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╡реАрдПрд▓рд╕реА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреИрд╕реЗ рдкрд╛рдЧрд▓ рд╣реЛ рдЧрдпрд╛, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╢реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЬрдм рдХрд┐рд╕реА рдиреЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ред
рд▓реЗрдХрд┐рди рдореИрдВ рдмрд╣реБрдд рджреВрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдФрд░ рдХреНрд░рд┐рд╕, рд╣рдорд╛рд░реЗ рджреВрд╕рд░реЗ рд░реВрдордореЗрдЯ рдиреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ ...
рд╢рд┐рдХрд╛рд░реА рдХрд╛ рд╢рд┐рдХрд╛рд░
рдкрд╣рд▓рд╛ рдЪрд░рдг
рдПрдХ рдмрдврд╝рд┐рдпрд╛ рджрд┐рди, рдЬрдм рд▓реЛрдЧрд╛рди рд╕реЛ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрдЦрд╛ рдЬрд┐рд╕рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛: "рдореИрдХреНрд╕ рдЗрд╕ рд╕рдм рдХреЗ рдкреАрдЫреЗ рд╣реИред" Choooo? рдореБрдЭреЗ рдПрдХ рдкреНрд░реИрдВрдХрдмреЙрдХреНрд╕ рдорд┐рд▓рд╛! рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рдордЭрдиреЗ рд▓рдЧрд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдХрд┐рд╕реА (рдХреНрд░рд┐рд╕) рдиреЗ рдЗрд╕ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЛ
zenity.php
рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ
zenity.php
ред рдореИрдВрдиреЗ рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ (рдЬрдм рддрдХ рд▓реЛрдЧрди рдиреЗ рд╕реБрдирд╛ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдЦреЗрд▓ рд░рд╣реЗ рдереЗ) рдФрд░ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдордЬрд╝рд╛ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╡рд╣рд╛рдБ рдпрд╣ рдерд╛
рджреВрд╕рд░рд╛ рдЪрд░рдг
рдПрдХ рдпрд╛ рджреЛ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдмрд╛рдж, рд╕рдВрджреЗрд╢ рдлрд┐рд░ рд╕реЗ рдкреЙрдк рдЕрдк рд╣реБрдЖред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдХреНрд░рд┐рд╕ рдиреЗ рдореБрдЭреЗ рдЬрд▓рд╛ рджрд┐рдпрд╛ рдФрд░ рд╕реВрдЪреА рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред рд▓рд╛рдирдд рдирд╣реАрдВ рд╣реИред рд╡рд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдерд╛ред рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЕрдм рдЗрд╕реЗ
/usr/bin/zenity
(рд╕рд┐рд╕реНрдЯрдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдХреЗ рдмрдЬрд╛рдп
/usr/sbin/zenity
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░
sudoers
рдкрд╛рд╕ рдПрдХ рдЕрдиреБрдЬреНрдЮреЗрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдереАред рддреЛ рдХреНрдпрд╛ рд╣реИ
/usr/sbin/zenity
? рд╢реИрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
рдЦреИрд░, рдпрд╣ рдмрдХрд╡рд╛рд╕ рдХрд╛ рдЕрдЧрд▓рд╛ рд╕реНрддрд░ рдерд╛, рдЕрдЧрд░ рдореБрдЭреЗ рдХрднреА рднреА рдРрд╕рд╛ рдХреБрдЫ рдорд┐рд▓рд╛ред 99% рдЙрд╕ рд╕рдордп рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рд╢реЗрд╖ рдПрдХ рдкреНрд░рддрд┐рд╢рдд рд╕рдВрджреЗрд╢ рдореЗрдВ "рдореИрдХреНрд╕ рдкреАрдЫреЗ рдЦрдбрд╝рд╛ рд╣реИ" рдкреЙрдк рдЕрдк рд╣реБрдЖред рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рдерд╛) рдФрд░
sudoers
рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ
zenity.php
рдЕрдкрдиреЗ рдореВрд▓ рд░реВрдк рдореЗрдВ рдЖ рдЧрдпрд╛ред рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдмрдВрдж рд╣реЛ рдЧрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╡реЗ рд╡рд╛рдкрд╕ рдЖ рдЧрдПред
рддреАрд╕рд░рд╛ рдЪрд░рдг
рдореИрдВрдиреЗ
zenity.php
рдЬрд╛рдБрдЪ рдХреАред рдХреЛрдИ рдирдИ рдмрд╛рдд рдирд╣реАрдВред
/usr/sbin/zenity
? рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ред рдореИрдВ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВред рдлрд┐рд░ рдореИрдВрдиреЗ рдЕрдВрджрд░ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛
/usr/bin/zenity
:
рдЫреЛрдЯреА рдзреВрд░реНрдд рдХрдореАрдиреЗред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬрд╝реАрдирд┐рдЯреА рдмрд╛рдЗрдирд░реА рдХреЛ рддрдп рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрди рдЧрдИ рдЬреЛ рдПрдХ рдмрд╛рд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ 70. рдЖрдЦрд┐рд░ рдХреНрдпрд╛? рдФрд░ рдпрд╣ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛
rpmdb-client
? рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрджрд▓рдХрд░ рд▓рдбрд╝рд╛рдИ рд▓рдбрд╝реА:
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдВрддрд░ рдкрдХрдбрд╝рд╛? рдЕрдиреНрдпрдерд╛,
/usr/sbin/rpmdb-client
рдХреЛ
/usr/bin/rpmdb-client
рдмрдЬрд╛рдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдкрд░реНрдпрд╛рдкреНрдд рднрд╛рдЧреНрдп рдХреЗ рд╕рд╛рде, рд╡рд╣ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░рд┐рддреНрд░ рдХреЛ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрд╕рдХрд╛ рд╕рдВрджреЗрд╢ рдХрднреА рднреА рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
TODO: ELF рдирд┐рд╖реНрдкрд╛рджрдХ
/usr/sbin/zenity
рдФрд░
/usr/bin/rpmdb-client
рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭреЗрдВ рдЬреЛ рдХреНрд░рд┐рд╕ рдиреЗ рдмрдирд╛рдпрд╛ рдерд╛ред рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ рдХреБрдЫ рдЕрдЬреАрдм рдЕрдВрддрд░ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЕрднреА рддрдХ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред
рдЪреМрдерд╛ рдЪрд░рдг
рдореИрдВрдиреЗ рд░рдХреНрд╖рд╛ рдХреЛ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдХреНрд░рд┐рд╕ рдиреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдПрдХ рдкрддреНрд░ рдореЗрдВ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░
zenity
рдкреИрдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореЗрд░реА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЙрдо рд╣реЗрдмреНрдм (рдореЗрд░реА рд╣рд░ рддрдХрдиреАрдХреА рдкреЛрд╕реНрдЯ рдореЗрдВ) рдХреЗ рдкреНрд░рддрд┐ рдЧрд╣рд░реА рдЖрднрд╛рд░ред рдпрд╣рд╛рдБ рдореИрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ:
- рд╕реВрддреНрд░реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
apt
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, /etc/apt/sources.list
deb-src
рдЬреЛрдбрд╝рдХрд░) apt-get source zenity
quilt
рд╕рд╛рде рдПрдХ рдкреИрдЪ рдмрдирд╛рдпрд╛:
quilt new myPatch.diff
- рд╕рдВрджреЗрд╢ рдмреЙрдбреА рдореЗрдВ "рдореИрдХреНрд╕" рд╢рдмреНрдж рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ
src/msg.c
рд▓рд┐рдП рдПрдХ рдкреИрдЪ:
quilt add src/msg.c
quilt pop
dpkg-source --commit
dpkg-buildpackage -us -uc
- рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдПрдХ рдмрд╛рдЗрдирд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреАрд▓рд╛ рд╣реИ
- рдЪреБрдкрдЪрд╛рдк рдореЗрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде
rpmdb-client
(рдЗрд╕рдХреА zenity
) рдмрд╛рдЗрдирд░реА рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ - рдЙрд╕рдХреА рдкреАрда рдердкрдердкрд╛рдИ
рдпрд╣ рдкреИрдЪ
zenity
рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ
zenity
рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рд╕рдВрджреЗрд╢ рдкрд╛рда рдореЗрдВ "рдореИрдХреНрд╕" рд╢рдмреНрдж рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪреБрдкрдЪрд╛рдк рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдорд╛рд░реНрдЪ рдХреЗ рдЕрдВрдд рддрдХ, рдХреНрд░рд┐рд╕ рдХреЛ рдХрднреА рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рдХрд┐ рдореИрдВрдиреЗ рдмрд╛рдЗрдирд░реА рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд▓реЛрдЧрд╛рди рдиреЗ рдореЗрд░реЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рднреА рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рддрдм рддрдХ рд░реИрд▓реА рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬрдм рддрдХ рдореИрдВрдиреЗ рдЙрд╕реЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдХрдХреНрд╖рд╛рдПрдВ рдЦрддреНрдо рд╣реЛ рдЧрдИрдВ, рддреЛ рд╣рдордиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рдпрджреНрдпрдкрд┐ рд▓реЛрдЧрд╛рди рдФрд░ рдореИрдВ рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдлрд┐рд░ рд╕реЗ рдПрдХ рд╕рд╛рде рд░рд╣реЗрдВрдЧреЗ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрдорд░реЗ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рдирд╣реАрдВ рдмрд┐рддрд╛рдПрдВрдЧреЗ рддрд╛рдХрд┐ рд░реИрд▓реА рдХреЛ рд╕рдордЭ рдореЗрдВ рдЖрдПред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдирдИ рдЯреНрд░рд┐рдХ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред