linux Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° python
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Ubuntu
ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ systemd, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ .
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ Ubuntu
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ:
sudo gedit /ΠΏΡΡΡ_ΠΊ_ΡΠΊΡΠΈΠΏΡΡ/ΠΈΠΌΡ_ΡΠΊΡΠΈΠΏΡΠ°.sh
#!/bin/bash
echo «Hello world»
ΠΠ°Ρ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΡΠΊΡ Hello world Π½Π° ΡΠΊΡΠ°Π½, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° Bash. ΠΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ², ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ:
sudo chmod ugo+x /ΠΏΡΡΡ_ΠΊ_ΡΠΊΡΠΈΠΏΡΡ/ΠΈΠΌΡ_ΡΠΊΡΠΈΠΏΡΠ°.sh
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ Π² ΠΏΠΎΠ»Π΅ ΠΠΎΠΌΠ°Π½Π΄Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΠ±Π·ΠΎΡ, Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ:
Π‘ΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Ubuntu.
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² Linux Π² systemd
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ²ΠΈΡΠ° systemd Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅:
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/ΠΏΠΎΠ»Π½ΡΠΉ/ΠΏΡΡΡ/ΠΊ/ΡΠΊΡΠΈΠΏΡΡ/ΠΈΠΌΡ_ΡΠΊΡΠΈΠΏΡΠ°.sh
[Install]
WantedBy=multi-user.target
Π ΡΡΡΠΎΡΠΊΠ΅ ExecStart ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π»ΠΈΠ±ΠΎ ΠΏΡΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ:
sudo systemctl daemon-reload
sudo systemctl enable mysrcipt
Linux Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° python
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΡΠΎΠ±Ρ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΡΠ°ΠΌ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΡΠΏΠ±Π΅ΡΡΠΈ ΠΏΠΈ.
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΡΠΎΠ²Π΅ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ»ΠΈΠ·[/quote]
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π²ΡΠ±ΠΎΡ:
1.ΠΡΠ»ΠΈ Ρ ΡΠ΅Π±Ρ ΡΡΠ°ΡΡΡΡΡ ΠΈΠΊΡΡ ΡΠΎ ΡΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ Π² /etc/xdg/autostart ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΡΠ°ΠΆΠ°ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ M$ ΡΡΠ»ΡΠΊ Π½Π° ΡΠ°ΠΉΠ»ΠΈΠΊ
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
ΠΡΡΠ·ΡΡ, ΠΏΡΠΎΡΡ ΠΏΠΎΠΌΠΎΡΡ!
ΠΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠΏΠΈΡΠ°Π» Π΅Π³ΠΎ Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ GUI ΠΈ ΡΡΠ°ΡΡΡΠ΅Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° startx, Π° ΠΌΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ Π½Π΅ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° GUI.
ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΊΡΠ΄Π° ΠΌΠ½Π΅ ΠΊΠΎΠΏΠ°ΡΡ?
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
ΠΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈ, Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° GUI.
Π― Π½ΠΎΠ²ΠΈΡΠ΅ΠΊ ΠΈ Π² Π»ΠΈΠ½ΡΠΊΡΠ΅ ΠΈ Π² ΠΏΠ°ΠΉΡΠΎΠ½Π΅, ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° startx Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² Π»ΠΈΠ½ΡΠΊΡ)
ΠΡΠΈ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ, Π² Π»ΠΈΠ½ΡΠΊΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π² Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
sudo update-rc.d ΠΈΠΌΡ_ΡΠΊΡΠΈΠΏΡΠ° defaults
Π ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΏΠΎ ΠΏΠΎ ΡΡΠ°ΡΠΈΠ½ΠΊΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π² /etc/rc.local ΠΏΠ΅ΡΠ΅Π΄ «exit 0»
ΠΡΠ»ΠΈ ΠΏΡΡΡΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ, ΡΠΎ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ.
Π ΡΠ°ΠΉΠ»Ρ «ΠΈΠΌΡ.desktop» Ρ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² Π½ΡΡΡΠΈ «Exec=/ΠΏΡΡΡ/ΠΌΠΎΠΉ_ΡΠΊΡΠΈΠΏΡ» Π²
/.config/autostart
Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ LXDE, Ρ openbox-a Π΄ΡΡΠ³Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π°Π²ΡΠΎΡΡΠ°ΡΡΠ°.
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Π― ΠΏΡΠΎΠΏΠΈΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ ΡΡΠ°Π»Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ, ΡΡΠ³Π°ΡΡΡ Π½Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (ΡΠΌ. ΡΠΊΡΠΈΠ½: https://yadi.sk/i/fZkOreh3Vsmfn )
ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΡΠΎ Ρ Π΄Π΅Π»Π°Ρ Π½Π΅ ΡΠ°ΠΊ?
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ Π·Π° ΠΠ°ΡΠΈ ΡΠΎΠ²Π΅ΡΡ!
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, Π° Π²ΠΎΡ Π½ΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠΎΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΈΠ½ΡΠ»Π°. Π’. Ρ. Π²ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ!
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΡ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΠΌΠ½Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π»ΠΈΠ½ΡΡ Π΅, Π΄Π°Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π³Π΄Π΅ ΠΌΠ½Π΅ ΠΊΠΎΠΏΠ°ΡΡ. ΠΡΠ΅ ΡΠ°Π· ΡΠΏΠ°ΡΠΈΠ±ΠΎ ΠΠ°ΠΌ Π²ΡΠ΅ΠΌ Π·Π° ΠΠ°ΡΡ ΠΏΠΎΠΌΠΎΡΡ!
Re: ΡΠΊΡΠΈΠΏΡ python Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ
ΠΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ!
ΠΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° python, Ρ ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΎΠ±ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΠ°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΅Π³ΠΎ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Raspbian ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΠΌΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ 2 ΡΠ°Π·Π° ΠΏΠΎΠ΄ΡΡΠ΄ (Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ Π² log ΡΠ°ΠΉΠ»Π΅). ΠΡΠΈΡΠ΅ΠΌ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΎΠ½ Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», Π° ΠΏΡΠΈ Π²ΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅- ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠ²Π΅Π» ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ°, Π·Π°Π³ΡΡΠΆΠ°ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎ ΡΠ΄ΡΠΎ Π½Π° 100%
Π‘ raspberry ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠ΅ΡΠ΅Π· VNC ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CTRL+ALT+DEL, ΡΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π΅ΡΡΡ 2 ΠΠΎΠΌΠ°Π½Π΄Ρ: python, ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ 25%, ΡΡΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Ρ ΡΡΡΡΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ°
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΠΏΡΠΎΡ: ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π±Ρ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·?
Π‘ΠΊΡΠΈΠΏΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π½Π΅ΠΊΠΈΠΉ ΡΡΠΈΠΏΡ Π½Π° python Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π», Π° Π΅ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π»ΡΡ, ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ» ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ°.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ, Ρ ΠΏΡΡΠ°Π»ΡΡ ΡΠ΅ΡΠ΅Π· cron, Π½ΠΎ Π½Π΅ Π²ΡΡΠ»ΠΎ
ΠΏΠΎΡΠ»Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ
ΠΡΠΎ respawn ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅
init ΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ
Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΡΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ:
somelabel:2345:respawn:/path/to/script.sh
Π ΡΡ Π·Π° Π΄ΠΈΡΡΡ? Π ΡΠΎ Π² Upstart Π»Π΅Π³ΠΊΠΎ. Π ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠ°Π±ΠΎΡΠ°Π» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΏΡΠΈΡ respawn.
ΠΡ Π²ΠΎΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠΈΠ³ upstart Π΄Π»Ρ jabber Π±ΠΎΡΠ° Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ (/etc/init/talisman.conf):
ΠΠ΄Π΅ΡΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠΏΠ°Π²Π½ΠΈΡΡΡΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ°Π΄Π°Π΅Ρ ΡΠ°ΡΠ΅ ΠΏΡΡΠΈ ΡΠ°Π· Π·Π° Π΄Π΅ΡΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄, ΠΎΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡ ΡΡΡΠ°, ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ exec /usr/bin/python script.py
ΠΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ Π½Π΅ΠΌΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π² PATH.
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΏΠ΅ΡΠ²Π° ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠΆΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΡΠΈΠΏΡ (ΠΊΠΎΠΌΠ°Π½Π΄Π° chdir), Ρ.ΠΊ. ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΠΎΡ Π΄Π΅ΠΌΠΎΠ½.
ΠΠ΅Ρ, Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 10 5 (Π½Π΅ ΡΠ°ΡΠ΅ Π΄Π΅ΡΡΡΠΈ ΡΠ°Π· Π·Π° ΠΏΡΡΡ ΠΌΠΈΠ½ΡΡ).
ΠΡΡΠ°ΡΠΈ, umask ΠΈ nice ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΡΠΎΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ΅ΡΠ²Π°Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Ρ ΠΈΠΌΠ΅Π»ΠΈ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° 664 (775 Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²), Π° Π²ΡΠΎΡΠ°Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ.
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Linux
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠ΅Π½Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Linux, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΊΡΠ΄Π° ΠΈΡ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΡΠ²Π°ΡΡ Π² ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ°?
ΠΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, systemd, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π·Π°ΠΏΡΡΠΊΠ°Π»Π° Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅ΡΡΡ ΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
ΠΠ°Π»ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΏΡΠ½ΠΊΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Linux.
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ°
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° Π²ΡΡΠ΄ Π»ΠΈ Π±ΡΠ΄Π΅Ρ Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½ΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΠΎ Π½Π΅ΠΉ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅ΡΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΄ΡΠ° init Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΎΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΄ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Bash Π²ΠΌΠ΅ΡΡΠΎ Systemd. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΄ΡΠ° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Grub ΠΈΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ init:
sudo vi /boot/grub2/grub.cfg
linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro quiet init=/bin/bash
ΠΠΎ, ΠΎΠ±ΡΡΠ½ΠΎ, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π² ΠΌΠ΅Π½Ρ Grub. Π§ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ Π² ΡΡΠ°ΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΄ΡΠ° Linux. Π’Π°ΠΊ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ linux, Π½ΠΎ, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Linux, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π systemd ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ. ΠΠ΄Π΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ, ΠΎΡΡΡΠΎΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅. Π ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Systemd Π²ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ½ΠΈΡΠΎΠ², Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΅Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π·Π°ΠΏΡΡΠΊΡ.
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ± ΠΈΠ· Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° systemctl. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
sudo systemctl enable ΠΈΠΌΡ_ΡΠ»ΡΠΆΠ±Ρ
Π ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π΅ Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ linux:
sudo systemctl disable ΠΈΠΌΡ_ΡΠ»ΡΠΆΠ±Ρ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Apache, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
sudo systemctl enable apache
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π»ΠΈ ΡΠΆΠ΅ ΡΠ»ΡΠΆΠ±Π° Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ:
sudo systemctl is-enabled httpd
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΠ²ΠΈΡΠ°, Π½ΠΎ Π·Π½Π°Π΅ΡΠ΅ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΡΡ Π±ΡΠΊΠ²Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Tab:
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
systemctl list-unit-files | grep enabled
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² Linux
Π Π°Π½ΡΡΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/rc.local. ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π½ΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΆΠΈΡΠΎΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ SysVinit ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. Π‘ΠΊΡΠΈΠΏΡΡ ΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Systemd.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ½ΠΈΡ-ΡΠ°ΠΉΠ» ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ, ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ. Π‘Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠΎΡ ΡΠ°ΠΉΠ»:
sudo vi /lib/systemd/system/runscript.service
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/local/script.sh
[Install]
WantedBy=multi-user.target
ΠΡΡΠ°Π»ΠΎΡΡ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²Π°:
sudo chmod 644 /lib/systemd/system/runscript.service
ΠΠ°ΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Linux Π½ΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ:
sudo systemctl daemon-reload
sudo systemctl enable myscript.service
ΠΠΎΡΠ»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠ°Π²Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»Π°Π³ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ chmod:
sudo chmod u+x /usr/local/bin/script
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° X ΡΠ΅ΡΠ²Π΅ΡΠ°
Π§Π°ΡΡΠΎ, Π² Π»Π΅Π³ΠΊΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΠΈ ΠΎΠΊΠΎΠ½Π½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ X ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΊΡΠΈΠΏΡΡ Π±ΡΠ΄ΡΡ ΡΡΠ°ΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° X ΡΠ΅ΡΠ²Π΅ΡΠ°. Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΊΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Linux Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΡΡ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΠΊΡΠΈΠΏΡΡ Π² ΡΠ°ΠΉΠ»
/.xinitrc ΠΈΠ»ΠΈ /etc/X11/xinit/xinitrc. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΠΊΠΎΠ²:
exec ΠΏΡΡΡ_ΠΊ_ΡΠΊΡΠΈΠΏΡΡ &
/.xinitrc Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ:
ΠΠ°ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ linux ΡΠΊΡΠΈΠΏΡ, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ΄Π΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Firefox:
ΠΠΎΡΠΎΠ²ΠΎ. ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ X ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ Linux ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ linux.
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°
Π’Π°ΠΊΠΈΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΠΊΠ°ΠΊ Gnome ΠΈ KDE ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Gnome ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ «ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π΅ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠ΄Π΅ΡΡ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΡΠ½ΡΠ² Π³Π°Π»ΠΎΡΠΊΡ.
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠΎΠ±Π°Π²ΠΈΡΡ»:
Π’ΡΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΈ ΠΏΠΎΠ»Ρ:
ΠΠ°Π»ΡΡΠ΅ Π½Π°ΠΆΠΌΠΈΡΠ΅ «ΠΠΎΠ±Π°Π²ΠΈΡΡ» Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅. ΠΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ linux.
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° Bash
/usr/bin/local/script
export MYWAR=test
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π§Π°ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ linux, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈ Π΅Π΅ Π²ΠΈΠ΄Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΡΠ΄Π° Π±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΈΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ, Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ, Ρ ΠΎΡΡ Π±Ρ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ Π½Π΅ Π·Π°Π±ΡΡΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠΏΡΠ°ΡΠΈΠ²Π°ΠΉΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
ΠΠ°ΠΏΡΡΠΊ python ΡΠΊΡΠΈΠΏΡΠ° Π² Linux
ΠΠ° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ apt, Π²ΠΈΠ΄Π΅ΠΎΡΠ΅Π΄Π°ΠΊΡΠΎΡ OpenShot, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ pip. Π ΡΡΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ Python ΡΠΊΡΠΈΠΏΡ Π² Linux Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ.
ΠΠ°ΠΏΡΡΠΊ python ΡΠΊΡΠΈΠΏΡΠ° Π² Linux
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Python ΡΠΊΡΠΈΠΏΡ. Π§ΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ²ΠΎΠΉ:
print(«Hello from losst!»)
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ Python. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Ctrl + Alt + T, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
ΠΠΎ ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ apt ΠΈΠ»ΠΈ openshot Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠ²ΠΎ python. ΠΡΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΊΡΡ ΡΡΡΠΎΡΠΊΡ:
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
chmod ugo+x script.py
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Python ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Ρ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ python Linux Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ². Π ΠΊΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ Π²Ρ? ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !