問題タブ [terminfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - シェルスクリプトは、256色をサポートするxtermウィンドウで実行されているかどうかをどのように判断できますか?
存在する場合は256色のサポートを使用したいシェルスクリプトを書いています。公正世界では、環境変数をにxterm
設定するだけで、サポートを見つけるために使用します。 TERM
xterm-256color
tput colors
しかし、私たちは不当な世界に住んでいます。 で起動した場合でもにxterm
設定TERM
されます。シェルスクリプト内から、256色のウィンドウで実行されているttyに接続されたstdoutでスクリプトが実行されているかどうかを確認するためにできることはありますか?もしそうなら、私は自分で環境変数を設定することができます。xterm
TERM=xterm-256color
xterm
bash - 出力をフォーマットする端末の能力を決定しますか?
Hullo-端末が表示できる色の数を確認したい場合は、次の出力を読み取るだけです。
...しかし、私が書いている端末が、太字、下線、逆ビデオ、点滅などの他のフォーマット要求をサポートできるかどうかを判断する方法がわかりません(うん!)。
tputを介して出力を設定する方法はわかりますが、試行する前に機能が存在するかどうかを判断していません。
機能がすべての端末に存在すると単純に想定する必要がありますか?
linux - キーの組み合わせに対してxtermによって生成されるエスケープシーケンスを変更します
私の目標は、コマンドラインインターフェイスプログラムがキーボード入力に対して期待どおりに動作する端末をセットアップすることです(プログラムは元々Windows用にxharbourで記述されていますが、今はLinuxに移植したいと思います)。xtermの方が簡単で、デフォルトのターミナルキーの組み合わせを無効にする必要がないため、最初にxtermを選択しました。
パテを使用すると、ほとんどの文字がうまく機能し、autohotkey、ahkスクリプトを使用しない場合は、それでうまくいきます。たとえば、Ctrl + F1の場合:
^F1::SendInput ^[O5P
私はterminfoを試し、変更し、再コンパイルし、変更し、キーボードタイプを変更しましたが、ターミナルでCtrl+F1を押したときに^[O5P応答を取得できませんでした。この変更を行う方法をご存知の場合は、教えてください...これを行うと思われる数百ページを読みましたが、これらの変更はすべて効果がなかったか、期待した効果がありませんでした。
そこで、Ctrl +F1から^[O5Pの目標を達成するために端末設定を変更しようとして、autohotkeyと同様のことを行うコマンドとプログラムをいくつか試しました。
xmodmap
、ただし、キーの組み合わせの場合は機能しませんxdotool
windowactivate xyz type ^ [O5P、これは個々の文字の文字コードを返しますxmacro
、他のウィンドウにキーストロークを送信しませんironahk
、example.ahkを実行しようとすると、最初にエラーが発生し、ライトマニュアルで目的のコマンドが見つかりませんでした。bind '\e[1;5P":"\e[O5P"'
、ここで最初のキーコードは、ctrl + f1と入力したときに現在取得しているものであり、この組み合わせで取得したいキーコードの後にあります。無効。xbindkeys
+xvkbd
、どちらも助けにはならなかった。
これを達成するために何らかの方法で管理されていることをすでに知っている場合は、私を助けてください(キーの組み合わせに対して返されるキーコードを変更してください)。
テストには最新のCentOSとUbuntuを使用しています。
linux - 生成されるエスケープ シーケンスを変更する
この質問は、以前の質問の一般的なバージョンです:キーの組み合わせに対して xterm によって生成されたエスケープ シーケンスを変更します。xterm によって生成されたエスケープ シーケンスを変更する方法 (ホーム ディレクトリの .Xresources ファイルによって変換テーブルを変更する方法) について、良い答えが得られました。
Linux(Ubuntu/CentOS)で生成されたエスケープシーケンスを変更するより一般的な方法があるかどうかを知りたいです。これは、変更を xterm だけでなく gnome-terminals にも適用したいということです。これを行うために terminfo を考えていますが、terminfo を試して修正し、再コンパイルしましたが、ターミナルで Ctrl+F2 を押したときに ^[O5Q 応答を取得できませんでした。
また、成功せずに以下を試しました:
- xmodmap、しかしキーの組み合わせでは機能しません
- xdotool windowactivate xyz type ^[O5P、これは個々の文字の文字コードを返します
- xmacro、キーストロークを他のウィンドウに送信しません
- ironahk、example.ahk を実行しようとすると、最初にエラーが発生し、必要なコマンドがライト マニュアルで見つかりませんでした。
- bind '\e[1;5P":"\e[O5P"', ここで、最初のキーコードは、ctrl + f1 を入力したときに現在取得しているもので、この組み合わせで取得したいキーコードの後にあります。効果はありません。
- xbindkeys + xvkbd、どちらも役に立ちませんでした
前もって感謝します。
utf-8 - iTermを使用している場合にのみ縦のtmux境界線が破線になります
私の新しい仕事では、Macを使用する必要があり、iTermバージョン2でtmuxを使用しようとしています。
水平方向の境界線は適切なACSボックス描画文字[1]で表示されているように見えますが、垂直方向の境界線は破線で示されています。これはTerminal.appでは問題ではなく、境界線は正しく表示されます。選択したフォントに関係なく、問題が発生しているようです。
私が見つけることができるiTermとtmuxのすべてのスクリーンショットでは、これも当てはまるようです。これは単にiTermの制限ですか、それとも私のterminfoまたはロケールに問題がありますか?
python - PyPy と iPython が virtualenv で作成されたプロジェクトに共存すると、PyCharm の Python コンソールが失敗する
いくつかのバージョン情報:
PyPy と iPython が virtualenv で作成されたプロジェクトに共存すると、PyCharm の Python コンソールが失敗します。
3 つの仮想環境プロジェクトを作成しました。どの仮想環境もアクティブ化しませんでした。ですから、システム python はそのまま残っています。
環境 - 1:
これで、PyCharm で python コンソールを実行すると、正常に動作します。(PyCharm のインタープリターは /path/to/sample_1/virtualenv/project/bin/python に設定されています)
環境 - 2:
これで、PyCharm で python コンソールを実行すると、正常に動作します。(PyCharm のインタープリターは /path/to/sample_2/virtualenv/project/bin/python に設定されています)
環境 - 3:
現在、PyCharm で python コンソールを実行すると、次のエラーで失敗します。(PyCharm のインタープリターは /path/to/sample_3/virtualenv/project/bin/python に設定されています)
いずれの仮想環境の bin/python も、インストールされたインタープリターを指していることに注意してください。たとえば、/path/to/sample_3/virtualenv/project/bin/python は pypy を指し、/path/to/sample_1/virtualenv/project/bin/python はシステムにインストールされた python を指します。
これはこれに関連しているようです。しかし、よくわかりません。
助けてください。
terminal - Alt-left/right を使用して tmux のウィンドウを切り替える
alt-left、alt-right シーケンスを使用してウィンドウを切り替えるように tmux を構成しようとしています。これは私の .tmux.conf にあるものです
残念ながら、うまくいきません。私のマシンでは、alt-left と alt-right はそれぞれ ^[[1;3D と ^[[1;3C にバインドされています。これらのシーケンスを使用するように tmux に指示するには、terminfo オーバーライドを使用する必要があると思いますが、その方法がわかりません。そのため、どんな助けでも大歓迎です。
ありがとう!
unix - tput に setf/setb と setaf/setab の両方があるのはなぜですか?
tput を使用して、デバイスに依存しない方法で端末の前景色と背景色を設定しようとしています。
termcap/terminfo/tput の全体的な目的がデバイスに依存しないようにすることである場合、ANSI コントロール (setaf/setab) を明示的に使用するバージョンと使用しない (すべきではない) バージョンの両方があるのはなぜですか?
この議論では、terminfo(5) を引用しています。これは、ANSI ではなく ANSI を使用して実装することを明示的に示している標準を引用しています。
setf/setb だけではなく、常に前景色と背景色を設定するのはなぜですか。それがどのように行われるかは気にしません。それが私が tput を使用する理由です!