nano์ ํจ๊ป open_shell()์ ์ฌ์ฉํ ๋ ์ด ์ด์ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํ์ดํ ํค๊ฐ ์ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ชฝ ํ์ดํ๋ฅผ ์ฌ์ฉํ ๋ ์ฒซ ๋ฒ์งธ ๋๋ฅผ ๋ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์๊ณ ๋ ๋ฒ์งธ ๋๋ฅผ ๋ ๋ฌธ์ 'A'๊ฐ ํ์๋ฉ๋๋ค.
์ด ๋ฌธ์ ๋ vim์์๋ ๋ํ๋ฌ์ต๋๋ค.
์๋์ showkey -๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ด ๋์์ ์บก์ฒํ ์ ์์์ต๋๋ค.
์ ๋ ํ์ฌ Fabric3 1.14.post1์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
## When Ran with open_shell(command='nano /home/pi/.piHoleRestore/01-pihole.conf.old')
# THen I exit the Nano Editor
pi<strong i="10">@raspberrypi</strong>:~$ showkey -a
^[ 27 0033 0x1b # Up First arrow Key Press
[ 91 0133 0x5b # Up Second Arrow Press
A 65 0101 0x41 #
^[ 27 0033 0x1b # Down First arrow Key Press
[ 91 0133 0x5b # Down Second Arrow Press
B 66 0102 0x42 #
^[ 27 0033 0x1b # Left First arrow Key Press
[ 91 0133 0x5b # Left Second Arrow Press
D 68 0104 0x44 #
^[ 27 0033 0x1b # Right First arrow Key Press
[ 91 0133 0x5b # Right Second Arrow Press
C 67 0103 0x43 #
# WHen ran with normal ssh session
pi<strong i="11">@raspberrypi</strong>:~$ showkey -a
^[[A 27 0033 0x1b # Up Arrow
91 0133 0x5b
65 0101 0x41
^[[D 27 0033 0x1b # Down Arrow
91 0133 0x5b
68 0104 0x44
^[[B 27 0033 0x1b # Left Arrow
91 0133 0x5b
66 0102 0x42
^[[C 27 0033 0x1b # Right Arrow
91 0133 0x5b
67 0103 0x43
https://github.com/fabric/fabric/issues/196 ์ ์ฐธ์กฐ
์ฐ์ ์์๊ฐ ๋ฎ์?) ๋ฌธ์ . ๋๋ ์ฝ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ด ์ ์ฉํ๋ค๊ณ ์๊ฐํ๋ค
๋ฌธ์ํ๋์์ง๋ง. ์ ์์ ์ด ์ ๋ง ์ง์ฆ๋ฉ๋๋ค.
2018๋ 2์ 16์ผ ์คํ 11์ 48๋ถ์ "John McGrath" [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
nano์ ํจ๊ป open_shell()์ ์ฌ์ฉํ ๋ ์ด ์ด์ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํ์ดํ ํค๊ฐ ์ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์์ชฝ ํ์ดํ๋ฅผ ์ฌ์ฉํ ๋,
์๋ฅผ ๋ค์ด ์ฒซ ๋ฒ์งธ ๋๋ฅผ ๋ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์๊ณ ๋ ๋ฒ์งธ ๋๋ฅผ ๋
๋ฌธ์ 'A'์ด ๋ฌธ์ ๋ vim์์๋ ๋ํ๋ฌ์ต๋๋ค.
showkey -a ๋ช ๋ น์ ์ฌ์ฉํ ๋ ์์ง์์ ์บก์ฒํ ์ ์์์ต๋๋ค.
์๋์.์ ๋ ํ์ฌ Fabric3 1.14.post1์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
open_shell(command='nano /home/pi/.piHoleRestore/01-pihole.conf.old')๋ก ์คํํ์ ๋
๊ทธ๋ฐ ๋ค์ ๋๋ ธ ํธ์ง๊ธฐ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
pi@raspberrypi :~$ ์ผํค -a
^[ 27 0033 0x1b # ์์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
A 65 0101 0x41 #
^[ 27 0033 0x1b # ์๋์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์๋์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
B 66 0102 0x42 #
^[ 27 0033 0x1b # ์ผ์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์ผ์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
D 68 0104 0x44 #
^[ 27 0033 0x1b # ์ค๋ฅธ์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์ค๋ฅธ์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
C 67 0103 0x43 #์ผ๋ฐ ssh ์ธ์ ์ผ๋ก ์คํํ์ ๋
pi@raspberrypi :~$ ์ผํค -a
^[[A 27 0033 0x1b # ์์ชฝ ํ์ดํ
91 0133 0x5b
65 0101 0x41
^[[D 27 0033 0x1b # ์๋์ชฝ ํ์ดํ
91 0133 0x5b
68 0104 0x44
^[[B 27 0033 0x1b # ์ผ์ชฝ ํ์ดํ
91 0133 0x5b
66 0102 0x42
^[[C 27 0033 0x1b # ์ค๋ฅธ์ชฝ ํ์ดํ
91 0133 0x5b
67 0103 0x43โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/fabric/fabric/issues/1719 , ๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ABUzl55nzK_drLV4Q8bYs9Azzn1UXZHzks5tVnY2gaJpZM4SJN4T
.
ํด๋น ๋ฌธ์ ๊ธฐ๋ก์ ์ฝ์ผ๋ฉด์ ์ ์ฌ์ ์ผ๋ก ํ์ฉ๋์ง ์์ ์์ ์ฌํญ์
์๋ํ ์ ์๋ค๊ณ ์ ์ํ์ต๋๋ค. ๋ฑ ํ ์ค์
๋๋ค.
2018๋ 2์ 19์ผ ์ค์ 10์ 56 ๋ถ์ "Brian Peterson"
https://github.com/fabric/fabric/issues/196 ์ ์ฐธ์กฐ
IIRC๊ฐ ์ฐ์ ์์๋ฅผ ์์ด์ต๋๊น?) ๋ฌธ์ ์ ๋๋ค. ์ด๋์ ๋ ์์ผ๋ฉด ์ ์ฉํ ๊ฒ ๊ฐ์์
๋ฌธ์ํ ๋ ๋ฌธ์ . ์ ์์ ์ด ์ ๋ง ์ง์ฆ๋ฉ๋๋ค.2018๋ 2์ 16์ผ ์คํ 11์ 48๋ถ์ "John McGrath" [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
nano์ ํจ๊ป open_shell()์ ์ฌ์ฉํ ๋ ์ด ์ด์ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํ์ดํ ํค๊ฐ ์ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์์ชฝ ํ์ดํ๋ฅผ ์ฌ์ฉํ ๋,
์๋ฅผ ๋ค์ด ์ฒซ ๋ฒ์งธ ๋๋ฅผ ๋ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์๊ณ ๋ ๋ฒ์งธ ๋๋ฅผ ๋
๋ฌธ์ 'A'์ด ๋ฌธ์ ๋ vim์์๋ ๋ํ๋ฌ์ต๋๋ค.
showkey -a ๋ช ๋ น์ ์ฌ์ฉํ ๋ ์์ง์์ ์บก์ฒํ ์ ์์์ต๋๋ค.
์๋์.์ ๋ ํ์ฌ Fabric3 1.14.post1์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
open_shell(command='nano /home/pi/.piHoleRestore/01-pihole.conf.old')๋ก ์คํํ์ ๋
๊ทธ๋ฐ ๋ค์ ๋๋ ธ ํธ์ง๊ธฐ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
pi@raspberrypi :~$ ์ผํค -a
^[ 27 0033 0x1b # ์์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
A 65 0101 0x41 #
^[ 27 0033 0x1b # ์๋์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์๋์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
B 66 0102 0x42 #
^[ 27 0033 0x1b # ์ผ์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์ผ์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
D 68 0104 0x44 #
^[ 27 0033 0x1b # ์ค๋ฅธ์ชฝ ์ฒซ ๋ฒ์งธ ํ์ดํ ํค ๋๋ฆ
[ 91 0133 0x5b # ์ค๋ฅธ์ชฝ ๋ ๋ฒ์งธ ํ์ดํ ๋๋ฅด๊ธฐ
C 67 0103 0x43 #์ผ๋ฐ ssh ์ธ์ ์ผ๋ก ์คํํ์ ๋
pi@raspberrypi :~$ ์ผํค -a
^[[A 27 0033 0x1b # ์์ชฝ ํ์ดํ
91 0133 0x5b
65 0101 0x41
^[[D 27 0033 0x1b # ์๋์ชฝ ํ์ดํ
91 0133 0x5b
68 0104 0x44
^[[B 27 0033 0x1b # ์ผ์ชฝ ํ์ดํ
91 0133 0x5b
66 0102 0x42
^[[C 27 0033 0x1b # ์ค๋ฅธ์ชฝ ํ์ดํ
91 0133 0x5b
67 0103 0x43โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/fabric/fabric/issues/1719 , ๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ABUzl55nzK_drLV4Q8bYs9Azzn1UXZHzks5tVnY2gaJpZM4SJN4T
.
@bepetersn ๋๋ฅผ ์ํด ์ด๊ฒ์
์ด ๋ฌธ์ ์ ์ง๋ฉดํ ๋ค๋ฅธ ์ฌ๋๋ค์ ์ํด. ์ฌ๊ธฐ์์ io.py๋ฅผ ๋ณ๊ฒฝํ์ญ์์ค.
https://github.com/fabric/fabric/pull/1389/commits/8efbff173cdbc5f6f84eb7caeab12b8e1bfded22
์ด ๋ณ๊ฒฝ ์ฌํญ์ด Fabric V2์ ์ ์ฉ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ง๊ฐ ๋ฌธ์
์ญ์ฌ์ ์ฐธ๊ณ ๋ก, ์ด๋ฌํ ์ข
๋ฅ์ ์์
์ Invoke ๋ฐ ๊ณง ์ถ์๋ Fabric 2์์ ํจ์ฌ ๋ ์ ์๋ํฉ๋๋ค. ์ ๋ ํด๋น ์ฝ๋๋ฒ ์ด์ค์์ run()
๋ฅผ ํตํด vim์ ์ผ์์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.