2016-03-25 22 views
0

これはちょっと変わったことです。 psqlを起動し、パスワードを要求するときにを入力した場合、 + Cと表示されますが、プログラムが終了したように見えますが、シェルに戻っても表示されません。それは、私がパスワードを入力していると考えているため、入力したものがすべて隠されているかのようです。Ctrl + Cを押すとpsqlがシェルを破棄する

私が見つけた唯一の解決策は、新しいシェルを始めることです。これは問題ありませんが、それは素晴らしいことではありません。私はここで何が起こっているのか、それをどう修正するのかを理解したいと思う。

+3

あなたの端末をリセットするために 'reset'コマンドを試してください – janos

+1

' psql'は端末のエコーモードをオフにし、['reset'](http://invisible-island.net/ncurses/man/tset.1.html #h3-reset ---再初期化)が再びオンになりました。 –

+0

これは 'psql'のバグですか?私はこれが起こる他のプログラムは知りません。 – mlissner

答えて

3

resetはしばしば動作しますが、万能薬ではありません。この場合、端末エコーだけが無効になりました。他のプログラムでは、キャリッジリターンの処理を変更して、 "リセット"と入力するのが厄介です(これを行うことはできますが、行を終了するにはコントロールJと入力する必要があります)他の例で

reset端子説明に依存しているので、それはすべてをリセットしない場合があります。特定のトラブルポットは、(a)代替文字セットと(b)端末のカラーパレットへの変更です。

  • ncursesが代替文字セットをリセットを行い、多くの端末の記述がありますが、それは、Unixシステム上で共通の問題であるからはこれをしません。
  • xterm 256色のシーケンスを使用してカラーパレットを設定している人がいますが、resetはデフォルトのパレットに戻す方法がありません。

resetは、端末の説明部分とは別に、stty saneと同様の機能を実行します。

関連する問題