AlpineのViewerコマンドがGNU画面で機能しないのはなぜですか?どうすれば解決できますか?

AlpineのViewerコマンドがGNU画面で機能しないのはなぜですか?どうすれば解決できますか?

GNU画面内でアルファインでビューアコマンドを実行すると、「ビューアコマンドが完了しました」というメッセージが表示されますが、実際にはLynx(または他のビューア)は起動しません。サイコロなしでファイルにパラメータのみを書き込む独自のスクリプトを書いてみました。メッセージをファイルにパイプしようとしましたが、「(スクリプト)そのファイルまたはディレクトリを実行できません」というメッセージが表示されます。

ただし、アルパインを閉じて画面から切り離してからアルパインを起動すると、ビューアを使用したりメッセージをパイプしたりできます。

それでは、ここで問題は何であり、どのように解決しますか?

アップデート1:

TERMの値は、画面の外側と内側のTERM両方でノートブックのEtermにログインする項目によって異なります。 Connect Botの観点からは、接続されているか接続されていません。Etermscreenscreen

これは私の.screenrcです。

$ cat .screenrc 
defscrollback 10000
caption always "%?%F%{-b bc}%:%{-b bb}%?%C|%D|%M %d|%H%?%F%{+u wb}%? %L=%-Lw%45>%{+b by}%n%f*%t%{-}%+Lw%-0<"

shell bash

bind j focus down
bind k focus up
bind t focus top
bind b focus bottom

screen -t 'system'
screen -t 'alpine'
screen -t 'programming' 
screen -t 'suppliments' 
screen -t 'ssh'
screen -t 'webby'
screen -t 'ipython' ipython
screen -t 'mpg321'
screen -t 'irssi' 

アップデート2: 値という用語を変更しても何も解決されませんでした。tmuxしばらくこれを試してみましたが、うまくいきますが、使用している画面に応じてサイズを正しく調整するのにいくつかの問題があります(最小サイズに関係ありません)。

今私は少し奇妙なトリックを使用しています。私はスクリーンセッション内でtmuxセッションを実行し、そのtmuxセッション内でalpineを実行しています。これでURLビューはうまく機能しますが、明らかにこれは理想的な状況ではなく、より良い修正があれば大歓迎です。

答え1

シェルをbashでハードコーディングしているようです.screenrc。これもログインシェルですか?その行をコメントアウトして試してください。

$PATH失敗した場合は、tmux / screenの外部、画面の内部、およびtmuxの内部値を比較しますか?結果が得られない場合は、env3 つの設定の出力をすべて比較します。

答え2

OPに必要なものと同様の作業を行いました。画面上でローカルで使用しているかリモートで使用しているかを確認するアルパインチェックがあります。リモートの場合は、screenを使用してelinkを呼び出すスクリプトを開き、ローカルの場合(たとえば他のもの)Firefoxを使用してURLを開きます。

.pinercから:

url-viewers=_TEST("test '${TERM}' = screen-bce")_ "/usr/bin/screen screlinks _URL_", "/usr/bin/firefox _URL_"

私が「screlinks」と呼んでいるスクリプトは、すでに実行中のelinkがあることを確認し、そうであれば-remoteオプションを使用して新しいタブを開きます。

running='elinks -remote ping()'
if $running
then # echo "elinks running"
  /usr/bin/elinks -remote $@
else # echo "elinks not running"
  /usr/bin/elinks $@
fi

最終的な結果は、画面でアルパインを使用し、URLを開くとelinkを実行する新しい画面プロセスを取得することです。適切な^ Aコマンドを使用してここに切り替え、完了したら閉じるか、開いたままにして追加のURLをタブに追加できます。

関連情報