私はマウスでlessの出力をスクロールしようとすると、xtermの動作は気に入らません(それほどスクロールするのではなくコマンド履歴をスクロールします)。だから私はさくらを得て、それは私が望むように動作します。ただし、「-e」オプションは正しく機能しないようです。
私が入力している間
xterm -e "ls /usr/bin | less"
コマンドがls /usr/bin | less
実行された新しいxtermを取得します。しかし、
sakura -e "ls /usr/bin | less"
私のリクエストを無視して、新しいさくらターミナルを起動するようです。
実際、他の端末エミュレータとオプションも試してみましたが、成功しませんでした...
sakura -x "ls /usr/bin | less"
xfce4-terminal -e "ls /usr/bin | less"
roxterm -e "ls /usr/bin | less"
lxterminal -e "ls /usr/bin | less"
lilyterm -e "ls /usr/bin | less"
それらのいくつかは私の要求を無視し、時には「サブプロセスを実行することはできません...(そのファイルやディレクトリはありません)」と主張しました。
私は現在アーチにいます。私が出会ったhttp://osdir.com/ml/general/2013-07/msg06468.html、これはSakuraがかつて私が望むように動作したことを示すようです(現在バージョン3.1.0があります)。
期待どおりに実行するのに役立つ、または他のsakura
「良い」ターミナルエミュレータを使用して非常に感謝します(たとえば、$TERM -e "ls /usr/bin | less"コマンドを使用してターミナルエミュレータを開き、指定されたコマンドを実行します。マウスホイールでスクロールが少ない出力)。
ベストアンサー1
sakura
壊れているように見えますが、他の場合には2つの主な種類があります。後で引数を受け入れ、-e
それをシェルコマンドラインとして扱う型と引数のリストを受け入れ、最初の型はコマンド型を派生するために使用されます(いいえ)。シェルが含まれているため、パイプなどのシェル機能は使用できません。
xterm
は、特殊なケースで複数の引数があるか、または引数が既存の実行可能ファイルを$PATH
チェックして(で確認)確認される場合は2番目のカテゴリに属し、そうでない場合は2番目のカテゴリに属します。
だから:
xterm -e 'ls | less'
/usr/bin/ls | less
ls | less
たとえば、実行可能ファイルは、最初の引数がある場合はそれを使用して実行されます(たとえば、スペースとパイプ文字を含むファイル名)。それ以外の場合は/bin/sh
、、、、、sh
そうでない場合を使用します。-c
ls | less
他のほとんどの端末(xterm
明確にすることをお勧めします)では、以下を明示的に呼び出す必要がありますsh
。
lxterminal -e sh -c 'ls | less'
sakura
'は-e
動作しないようです。これは-x
ある程度動作します。あなたはできます:
sakura -x 'sh -c "ls | less"'
渡された単一の引数に対してシェルと同様の解析を行い-x
、それを引数リストに分割して実行するようです。
スクロールインに関連して交互に(放出された後など)、スクロールダウンとアップイベントがキーを押したときと同じエスケープシーケンスを送信するため(および他のVTEベースの端末エミュレータ)で機能しますless
。sakura
screen
tput smcup
DownUp
公開されていないls | less -X
場合は機能しないことがわかります。smcup
xterm
これはオプションでサポートされており、デフォルトでは有効になっていません。XTerm.VT100.alternateScroll
リソースをに設定して変更できますtrue
。たとえば、次を追加します。
XTerm.VT100.alternateScroll: true
あなたのもの~/.Xdefaults
(xterm
そのマシンで起動された場合)、またはXサーバーにロードされたリソースファイル(xterm
どこでも起動してXサーバーに接続されている場合)、または次のいずれかをxterm
使用して呼び出されます。
xterm -xrm 'XTerm.VT100.alternateScroll: true' -e sh -c 'ls | less'