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

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

新規登録して質問してみよう
ただいま回答率
86.02%
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

解決済

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

shutosg
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系のコマンドライン編集機能も実装されたシェルです。

1回答

0グッド

0クリップ

4102閲覧

投稿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/ディレクトリが見当たりません。

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

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

ベストアンサー

上記のように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はグループ以外のユーザ情報も変更できるのですね。(グループの変更でしか使ったことがありませんでした) フォントのインストール方法はまた別途調べてみようと思います。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

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系のコマンドライン編集機能も実装されたシェルです。