рдЧрд░реНрдо рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдореЙрдирд┐рдЯрд░ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ



рдпрд╣ рдЕрдлрд╝рд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЙрдмрдВрдЯреВ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╣реЙрдЯрдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдирд┐рдЯрд░ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЯреВрдЯ рдЧрдИред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрдпрд╛рд░рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреБрдЫ рд╕рд░рд▓ рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ (рд╕рдВрднрд╡рддрдГ рд▓реИрдкрдЯреЙрдк рдорд╛рд▓рд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП) рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдореЙрдирд┐рдЯрд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдкреБрд░рд╛рдирд╛ рддрд░реАрдХрд╛ xset рдХрдорд╛рдВрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ:

xset dpms force off

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрдИ рд╡рд┐рд╡рд┐рдзрддрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЙрдмрдВрдЯреВ рдХрд░реНрдорд┐рдХ (9.10) рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЯреВрдЯ рдЧрдИ рд╣реИред рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╕реНрдХреНрд░реАрди рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдЬрд╛рдЧ рдЬрд╛рддреА рд╣реИред рдпрд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛, рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рдпреЛрдЧреНрдп рд╡рд┐рдзрд┐ рдирд╣реАрдВ рдорд┐рд▓рд╛ред Ubuntuforums рдкрд░, рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рд▓реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдерд╛ , рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рдФрд░ рдЕрдиреНрдп рддрд░реАрдХреЗ рдЗрддрдиреЗ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рдереЗред рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ nxmehta рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ рдЧрдпрд╛ - рдЕрд░реНрдерд╛рддреН, рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЬреЛ рдкрдЯрдХрдерд╛ рд▓рд┐рдЦреА рдЧрдИ рдереА, рд╡рд╣ рдХрдо рд╕реЗ рдХрдо рдирдЯреНрдЯреА рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдорд┐рдХ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЕрдЬрдЧрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдЬрдЧрд░-рдПрдХреНрд╕рд▓рд┐рдм рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

sudo apt-get install python python-xlib

рдЕрдЧрд▓реА рдЪреАрдЬрд╝ рдХреЛ рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдЦреЛрд▓рдирд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, gedit) рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:

  1. #! / usr / рдмрд┐рди / рдЕрдЬрдЧрд░
  2. рдЖрдпрд╛рдд рдХрд╛ рд╕рдордп
  3. рдЖрдпрд╛рдд рдЙрдкрдкреНрд░рдХрд╛рд░
  4. Xlib рдЖрдпрд╛рдд X рд╕реЗ
  5. Xlib.display рдЖрдпрд╛рдд рдкреНрд░рджрд░реНрд╢рди рд╕реЗ
  6. рдкреНрд░рджрд░реНрд╢рди = рдкреНрд░рджрд░реНрд╢рди ( ': 0' )
  7. root = рдбрд┐рд╕реНрдкреНрд▓реЗ.рд╕реНрдХреНрд░реАрди ()ред root
  8. root.grab_pointer (рд╕рддреНрдп,
  9. X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask,
  10. X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime)
  11. root.grab_keyboard (рд╕рддреНрдп,
  12. X.GrabModeAsync, X.GrabModeAsync, X.CurrentTime)
  13. subprocess.call ( 'xset dpms force off' .split ())
  14. рдкреА = рд╕рдмрдкреНрд░реЛрд╕реЗрд╕.рдкреЗрди ( 'рдЧреНрдиреЛрдо-рд╕реНрдХреНрд░реАрдирд╕реЗрд╡рд░-рдХрдорд╛рдВрдб -рдЖрдИ' .plplit ())
  15. time.sleep (1)
  16. рдЬрдмрдХрд┐ рд╕рдЪ:
  17. рдкреНрд░рд┐рдВрдЯ рдкреНрд░рджрд░реНрд╢рди .next_event ()
  18. p.terminate ()
  19. рдмреНрд░реЗрдХ
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд╡рд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд░реБрдХрдиреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред


рд╡рд╛рдВрдЫрд┐рдд рдирд╛рдо рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд╣реАрдВ рд╕рд╣реЗрдЬреЗрдВред рдореИрдВрдиреЗ рдмрд┐рди рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджрдд рд╡рд┐рдХрд╕рд┐рдд рдХреА, рдЬреЛ рдореЗрд░реЗ рд╣реЛрдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рд╡реИрд╕реЗ, рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреВрд░реНрдг рдкрде рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдП рдмрд┐рдирд╛ "рджреГрд╢реНрдпрдорд╛рди" рд╣реЛрдЧреАред ~ / .Profile рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд░рд▓ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдзрдиреНрдпрд╡рд╛рдж:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi

рдЗрд╕рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ ~ / bin / screen_off.py рдиреЗ рдореЗрд░реА рдЕрдиреНрдп рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЬрдЧрд╣ рд▓реЗ рд▓реАред

рдЕрдЧрд▓рд╛ рдХрджрдо рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдирд╛ рд╣реИред рдЖрдк рдпрд╣ рддреЗрдЬрд╝ chmod + x ~ / bin / screen_off.py рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдХрдВрд╕реЛрд▓ (рдЬреЛ рд╡реНрдпрд░реНрде рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢реЗрд▓ рдХреЗ рдЪрд┐рддреНрд░рдордп рднрд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЧреБрдг рдЪреБрдиреЗрдВ:

рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЯреИрдм рдкрд░ рдФрд░ рдмреЙрдХреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░реЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред

рдЕрдм рдЖрдк рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдХреЛрдИ рднреА рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХреИрдкреНрд╕ рд▓реЙрдХ рдЪреБрдирд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЯрд┐рд▓ рдЙрдВрдЧрд▓рд┐рдпрд╛рдВ рд╣реИрдВ - рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рдкрд╣рд▓реЗ рдЗрд╕ рдХреБрдВрдЬреА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреАрдмреЛрд░реНрдб> рд▓реЗрдЖрдЙрдЯ> рд▓реЗрдЖрдЙрдЯ рд╡рд┐рдХрд▓реНрдк рдореЗрдиреВ (рдХреАрдмреЛрд░реНрдб> рд▓реЗрдЖрдЙрдЯ> рд╡рд┐рдХрд▓реНрдк) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдпрд╣рд╛рдВ рдЖрдк "рдХреИрдкреНрд╕ рд▓реЙрдХ рд╡реНрдпрд╡рд╣рд╛рд░" рдХреБрдВрдЬреА (рдХреИрдкреНрд╕ рд▓реЙрдХ рд╡реНрдпрд╡рд╣рд╛рд░) рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдЪрдпрди рдХрд░рдХреЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдмреЙрдХреНрд╕ рдХреЛ рдЕрдирдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдм рднреА рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрдард┐рдирд╛рдИ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, gconftool-2 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП, рдореЗрд░реЗ рд╕рд╛рде:
$ # Caps Lock
$ xmodmap -e "remove lock = Caps_Lock"
$ # :
$ gconftool-2 -a /desktop/gnome/keybindings/custom0
binding = VoidSymbol
action = /home/your_username/bin/screen_off.py
name = Screen_Off


рдЕрдВрдд рдореЗрдВ, рдХреБрдВрдЬреА рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рд╕рдВрд╡рд╛рдж рдЦреЛрд▓реЗрдВред

рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдХрд┐рд╕реА рднреА рдирд╛рдо рдХреЛ рдПрдХ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рджреЗрдВ, рдФрд░ рдХрдорд╛рдВрдб рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рд╣реИред рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдлрд╝реАрд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╡рд╛рдВрдЫрд┐рдд рд╢реЙрд░реНрдЯрдХрдЯ рдХреБрдВрдЬреА рджрдмрд╛рдПрдВред рдпрджрд┐ рдЖрдкрдиреЗ рдХреИрдкреНрд╕ рд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ "VoidSymbol" рдЯреЗрдХреНрд╕реНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рд╡рд╣ рд╕рдм рд╣реИ! рдпрд╣рд╛рдБ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ! рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЗ рд▓реИрдкрдЯреЙрдк рдХреА рдереЛрдбрд╝реА рдмреИрдЯрд░реА рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред

Source: https://habr.com/ru/post/In118625/


All Articles