リモートサーバー(SunOS 5.9を実行してC-shellをデフォルトのログインシェルとして使用するSolarisシステム)にSSHとして接続すると、次の問題が発生します。
- TERM変数が定義されていません。ファイルを編集するには、この変数をxtermに手動で設定する必要があります。それ以外の場合は、不親切なメッセージが表示されます。
どの端末を使用しているのかわかりません。 「xterm-256color」のみあります。
- キーボードがよく認識されない:
- バックスペースはコマンドラインバッファ全体を消去します。ここで解決策を見つけました
- タブはオートコンプリートではなくタブを実行します。
- delキーはコンソールバッファ(^ [[)にゴミを入れます。
- 矢印キーはコンソールバッファ(^ [)にガベージを置き、viでカーソルを移動する代わりにA、B、C、Dを挿入します。
- おそらくもっと
私はsttyコマンドを使ってバックスペースを変更するいくつかの方法を見つけました(ここ:バックスペース、Tabキーが端末で機能しない(Sshを使用))、しかしキーボードを完全に再マップする必要があります...
ログイン時に用語の問題とキーボードの問題を解決するためにSSHセッションをどのように設定しますか?
PS:リモート「ユーザー」は、すべての開発者が使用する「共有」アカウントであり、バックエンドディストリビューションにあります。望ましくない副作用を避けるために.*rcスクリプトに触れたくありません。
答え1
共有アカウントなので(通常これがどれほど賢明ではないかについては扱いません) - cshを使用しているので、2つのことを行う必要があります。
- .loginファイルに似たプライベート環境ファイルを作成します(.loginはcshに対応し、.profileはbash、shなどに対応します)。
- ログイン後の入場
source 'file_just_created'
作成したファイルでバックスペースキーを使用して、すでに実行している操作などの簡単な操作を実行できます。
stty erase ^H
また、用語を設定するためにファイルに追加するだけです!
setenv TERM xterm
または、端末セッションに必要/適用されるすべての値
一般化するmySetupFile
- 1つ以上のsttyコマンドを使用して作成し、setenv TERM myFavTermName
プロンプトにログインした後に追加し、source mySetupFile
追加:xtermのterminfoファイルを見つけることもできます。たとえば、存在しない/usr/share/lib/terminfo/x/xterm
場合は/usr/share/lib/terminfo/x/xterm-256color
許可されていることを確認してください。
ln /usr/share/lib/terminfo/x/xterm /usr/share/lib/terminfo/x/xterm-256color
編集の問題を解決してください。
うまくいけば、他のことを行うことができます(新しい用語情報を生成して定義するには、tic
akaコマンドを使用してください)。用語情報コンパイラiirc。多くの人を幸せにすることもできます。
答え2
ユーザーのホームディレクトリには隠しログインスクリプトファイルが必要です。ユーザーとしてSSHセッションを開き、pwdコマンドを実行して自宅にログインしていることを確認します。 CDがない場合は$ HOMEに進みます。
ls -la を使用して隠しファイルを表示する内容をリストします。ログイン時に実行される.login、.cssh、.bashrc、.ksh、または同様の名前のファイルが必要です。ここでカスタムコマンドを設定したり、環境変数をエクスポートしたりできます。
SSH接続を介して渡される環境変数を設定するもう1つのオプションは、AcceptEnv MYVAR.txtを設定して新しい環境変数を受け入れるようにサーバーの/ etc / ssh / sshd_configファイルを編集することです。また、SSHサーバーが受信できるようにこれらの変数を送信するようにクライアントSSHプログラムを設定してから、SendEnv MYVARを設定して設定する必要があります。
答え3
Solaris の csh は Bill Joy の元の csh で、オートコンプリートのために Tab の代わりに Escape を使用し(set filec
最初の使用時にのみ有効)、矢印キーの有無にかかわらずコマンドライン編集機能はありません。これらの機能が必要な場合は、tcshを使用する必要があります。