Fabric: open_shellがnanoまたはvimで機能しない

作成日 2018年02月17日  ·  5コメント  ·  ソース: fabric/fabric

nanoでopen_shell()を使用すると、この奇妙な問題が発生します。

矢印キーが正しく機能していないようです。 たとえば、上矢印を使用すると、最初のプレスでは何も起こらず、2回目のプレスでは「A」の文字が表示されます。

この問題はvimでも発生しました。

以下のshowkey-aコマンドを使用すると、これを動いている状態でキャプチャできました。

私は現在Fabric31.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

全てのコメント5件

https://github.com/fabric/fabric/issues/196を参照して
優先順位を下げますか?)問題。 いくつかの問題があると便利だと思います
しかし文書化されています。 本当に迷惑だと思います。

2018年2月16日午後11時48分、「JohnMcGrath」 [email protected]は次のように書いています。

nanoでopen_shell()を使用すると、この奇妙な問題が発生します。

矢印キーが正しく機能していないようです。 上矢印を使用すると、
たとえば、最初のプレスでは何も起こらず、2回目のプレスでは
文字「A」

この問題はvimでも発生しました。

showkey -aコマンドを使用すると、これを動いている状態でキャプチャできました。
下。

私は現在Fabric31.14.post1を使用しています

open_shell(command = 'nano /home/pi/.piHoleRestore/01-pihole.conf.old')で実行した場合

NanoEditorを終了します

pi @ raspberrypi :〜$ showkey -a

^ [27 0033 0x1b#上最初の矢印キーを押す
[91 0133 0x5b#2番目の矢印を上に押す
A 65 0101 0x41#
^ [27 0033 0x1b#下最初の矢印キーを押す
[91 0133 0x5b#下2番目の矢印を押す
B 66 0102 0x42#
^ [27 0033 0x1b#左最初の矢印キーを押す
[91 0133 0x5b#左2番目の矢印を押す
D 68 0104 0x44#
^ [27 0033 0x1b#右最初の矢印キーを押す
[91 0133 0x5b#右2番目の矢印を押す
C 67 0103 0x43#

通常のsshセッションで実行した場合

pi @ raspberrypi :〜$ showkey -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分、「 BrianPeterson

https://github.com/fabric/fabric/issues/196を参照して
IIRCの優先順位を下げましたか?)問題。 いくつか持っていると便利だと思います
問題は文書化されています。 本当に迷惑だと思います。

2018年2月16日午後11時48分、「JohnMcGrath」 [email protected]は次のように書いています。

nanoでopen_shell()を使用すると、この奇妙な問題が発生します。

矢印キーが正しく機能していないようです。 上矢印を使用すると、
たとえば、最初のプレスでは何も起こらず、2回目のプレスでは
文字「A」

この問題はvimでも発生しました。

showkey -aコマンドを使用すると、これを動いている状態でキャプチャできました。
下。

私は現在Fabric31.14.post1を使用しています

open_shell(command = 'nano /home/pi/.piHoleRestore/01-pihole.conf.old')で実行した場合

NanoEditorを終了します

pi @ raspberrypi :〜$ showkey -a

^ [27 0033 0x1b#上最初の矢印キーを押す
[91 0133 0x5b#2番目の矢印を上に押す
A 65 0101 0x41#
^ [27 0033 0x1b#下最初の矢印キーを押す
[91 0133 0x5b#下2番目の矢印を押す
B 66 0102 0x42#
^ [27 0033 0x1b#左最初の矢印キーを押す
[91 0133 0x5b#左2番目の矢印を押す
D 68 0104 0x44#
^ [27 0033 0x1b#右最初の矢印キーを押す
[91 0133 0x5b#右2番目の矢印を押す
C 67 0103 0x43#

通常のsshセッションで実行した場合

pi @ raspberrypi :〜$ showkey -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

この変更がFabricV2に適用されることを期待しましょう

クロージングの問題

歴史的なメモとして、この種のことはInvokeで、したがって次のFabric 2で非常にうまく機能します。私run() 、そのコードベースで

このページは役に立ちましたか?
0 / 5 - 0 評価