質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Q&A

解決済

1回答

4693閲覧

ssh接続先でもoh-my-zshを有効にしたい

shutosg

総合スコア20

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

0グッド

0クリップ

投稿2016/02/15 17:21

お世話になっております。
最近よくサーバに接続してCUIでの操作をすることが多いのですが、サーバ側の標準のbashが見にくく、oh-my-zshを導入したいと思っています。
現在MacBook Airではzshとoh-my-zshを用いていて、既存のoh-my-zshのテーマを自分で少し書き換えたりできるのですが、実際のところzshとbashの関係(というか違い?)やoh-my-zshの仕組みもよくわかっていません。友人が使っていたからなんとなく使ったら見やすかったので1年弱くらい使い続けている、程度です。

話が逸れてしまったのですが、ssh接続で外部のサーバを操作するとき、サーバにログインした直後からbashの標準出力になってしまい、oh-my-zshのテーマが未適用になってしまいます。
ですが、本家のgithubのスクリーンショットを見る限りでは以下のようにssh接続をしてもきちんとテーマが反映されています。
スクリーンショット

上記のようにssh接続でサーバに接続をした時もoh-my-zshを有効にするにはサーバ(CentOS7です)側にもzshとoh-my-zshを導入しないといけないのでしょうか?
また、試しにサーバ側にもzshとoh-my-zshを導入してみたのですが、agnosterで使われているフォントがインストールされていないためか文字化けを起こしてしまいます。
これはCentOSにフォントをインストールすれば解決しますでしょうか?解決するとしたらどのようにフォントをインストールすればよいでしょうか?
CentOS 5系や6系のインストール方法はググれば出てくるのですが、7のインストール方法は出てこない上、CentOS6等で使われていた/usr/share/fonts/ディレクトリが見当たりません。

多方面で知識不足なためどこから手を付ければいいのか検討が付きません。ご教授お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

上記のようにssh接続でサーバに接続をした時もoh-my-zshを有効にするにはサーバ(CentOS7です)側にもzshとoh-my-zshを導入しないといけないのでしょうか?

はい。サーバ側で使用するものは、サーバ側にもインストールする必要があります。
ログイン直後から、zsh を使いたいのであれば、ログインユーザの login shell を zsh に変更してやる必要があります。

ログインユーザの login shell は、/etc/passwd の第7フィールドに記載されています。
ログインユーザ名が 'foo' だった場合、/etc/passwd に以下のような記載があるかと思います。

foo❌1000:1000:foo user:/home/foo:/bin/bash

この場合/bin/bashが login shell になりますので、foo でログインすると bash が使用されます。
zsh に変更するのであれば、usermod を使って変更してください。

usermod -s /usr/bin/zsh foo

foo が利用するlogin shell を /usr/bin/zsh に変更します。

サーバにログインした直後からbashの標準出力になってしまい、oh-my-zshのテーマが未適用になってしまいます。

これは、ログインしたユーザの login shell が /bin/bash を使うように指定されているからになります。

MacBook Air で利用しているテーマや font と同じものを使いたいということですが、MacBook Air で行ったフォントのインストール、テーマの設定と同じことをサーバ側でも行ってください。

投稿2016/02/16 02:47

youji

総合スコア257

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shutosg

2016/02/16 16:30

ご丁寧にありがとうございました。/etc/passwdの第7フィールドの存在は知りませんでした。また、usermodはグループ以外のユーザ情報も変更できるのですね。(グループの変更でしか使ったことがありませんでした) フォントのインストール方法はまた別途調べてみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問