Tag Terminal

Mac OS X: Mac のホスト名が自動で変更される問題の解決方法

Mac のホスト名(例:MacBook)が勝手に変更されているのに気がつき、システム環境設定からホスト名を MacBook と再度設定したにもかかわらず、気づくとまたいつの間にか MacBook-2.local, MacBook-3.local といった名称に変更され、その都度ホスト名を修正する、といったことを繰り返していました。 今回はこの Mac のホスト名が自動的に変更されないよう、設定してみたいと思います。 目次 ホスト名の調査と設定 まとめ ホスト名の調査と設定 Mac のホスト名は ComputerName, HostName, LocalHostName と3種類あります。ターミナルで以下のコマンドを1行ずつ実行し、すべての名称が設定されているか調査します。 ターミナル.app 上記のホスト名の中に設定されていない項目がある場合、自動でホスト名を割り当てられる可能性があります。 sudo scutil –set コマンドで名称がなかったものに関して設定を行います。(ここでは MyMac とします) まとめ この設定を行ってから1ヶ月以上が経過していますが、Mac のホスト名が自動的に書きかわる問題は発生しなくなりました。 Mac 本体のホスト名が変更されても、日常用途で不便を感じることはないかと思いますが、ネットワーク上に Mac、iPhone や iPad、その他の Wi-Fi 機器が複数存在する場合は、あらかじめ今回紹介した方法でホスト名を設定しておくことをお勧めします。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Terminal: homebrew-cask のコンフリクト Warning 解決方法

homebrew-cask が homebrew に統合されました。 そのため、brew update 後、既存の homebrew-cask とコンフリクトが発生し Warning が表示されます。 この Warning を解決する方法をご紹介します。 目次 Warning の内容と解決方法 まとめ Warning の内容と解決方法 最初に brew update を実行し、Homebrew をアップデートしておきます。 brew doctor を実行すると Warning が表示されます。 冒頭でも説明しましたが、brew-cask が、以前の brew-cask とでコマンドに競合が発生しているとのことです。 ターミナルで以下のコマンドを実行し、以前の brew-cask を強制的にアンインストールします。 もう一度 brew doctor を実行すれば、先ほどの Warning は消えているはずです。 まとめ brew-cask は便利な反面、様々な問題もあります。 パッケージ管理ツールの bower や npm のように、インストールやアップデートが brew-cask ですべてのアプリが一元管理できるようになればいいのですが、現状は通常インストールとの使い分けが必要ですね。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Terminal: zshプロンプトのカスタマイズ(git 対応)

日常は GUI でほとんどのオペレーションを行ってますが、アプリ開発時のバージョン管理は、CUI の方が学習コストも低く扱いやすいので、GUI と CUI を行ったり来たりしながら作業を行っています。 今回、zsh のプロンプトに Git ブランチを表示したかったので、そのカスタマイズ方法をメモしておきます。 目次 zsh プロンプト概要 zsh プロンプトに Git の情報を表示する まとめ zsh プロンプト概要 はじめに zsh のプロンプトを変更するため、ホーム直下にある .zshrc ファイルを開きます。 この .zshrc ファイルで以下のようなプロンプトの定義(各パラメータの詳細は後述)を行います。PROMPT は画面左端、RPROMPT は画面右端に出力されるプロンプト変数です。 .zshrc .zshrc を変更・保存した後にはターミナルで source ~/.zshrc コマンドを実行し、ソースファイルをリロードします。 ターミナル 結果 色の変更 最初に、カラー変更を行うため、colors を呼び出しておきます。 .zshrc %{$fg[色番号]%} と %{$reset_color%} で囲まれた部分に「色番号(名称)」のカラーが適用されます。 .zshrc 今回の PROMPT の例では [%n@%m] を「red(赤)」で表示する、と言う意味になります。 また、$fg (ForeGround)の部分を $bg (BackGround) とすることで、背景色を変更することも可能です。 .zshrc プロンプトで使用できる色は以下の通りです。 色の番号・名称・サンプル一覧 番号 名称 サンプル 0 black 1 red 2 green 3 yellow 4 blue 5 magenta 6 cyan 7 white パラメータの詳細 PROMPT(RPROMPT) に記載する各パラメータ詳細は以下のようになっています。 この中から表示したい項目を選びプロンプトをカスタマイズします。 パラメータ内容サンプル %Mホスト名localhost.localdomain %mホスト名localhost %nユーザ名root %#ユーザ種別#(root)% (root以外) %yログイン端末名pts/0 %lログイン端末名pst/0 (tty*の場合はtty省略) %?直前のコマンドの戻り値0 %h %!コマンド実行 (history) 数1 %d %/カレントディレクトリ/root/currentdir %~カレントディレクトリ~/currentdir %Cカレントディレクトリcurrentdir %c %.カレントディレクトリcurrentdir ($HOMEは~) %D日付16-03-07 書式)yy-mm-dd %W日付03/07/16 書式)mm/dd/yy %w日付Mon 07 書式)day dd %*時間01:23:45 書式)hh:mm:ss %T時間01:23 書式)hh:mm %t %@時間01:23PM 書式)hh:mm(am/pm format) zsh プロンプト概要まとめ 「%」や {} が連続しているため、何かの呪文のように見えてしまい抵抗があると思いますが、中身はとても単純です。 これらを踏まえ、次項でこのプロンプトに Git の情報を表示させたいと思います。 zsh プロンプトに Git の情報を表示する はじめに zsh のプロンプトに Git の情報を表示するためには、zsh 4.3.10 以上である事が必須となるので、ターミナル上から zsh のバージョンを確認しておきます。 zsh のバージョンを確認(ターミナル) vcs_info の宣言と設定 バージョン管理システムから情報を自動的に取得するために vcs_info を宣言します。 .zshrc 次に、vcs_info から取得した情報をカスタマイズします。各項目の詳細はソースのコメントを参考にしてください。 .zshrc プロンプト表示直前に上記で設定した vcs_info を呼び出します。 .zshrc これでで ${vcs_info_msg_0_} に先ほど zstyle で設定したメッセージが表示されます。 今回はデフォルトのプロンプトを [ユーザー名@ホスト名] とし、git の管理下に移動した際にデフォルトのプロンプトの後にブランチ名を表示したいと思います。 以上で git の管理下のフォルダに移動した際のプロンプトは [ユーザー名@ホスト名](ブランチ名) $ が表示されるようになり、 通常時 (ブランチ名) が「シアン」で表示 add されていないファイルがある場合 +(ブランチ名) が「マゼンタ」で表示 commit されていないファイルがある !(ブランチ名) が「グリーン」で表示 と状態によってプロンプトの表示が切り替わるようになります。 結果 zsh プロンプトに Git の情報を表示するまとめ 最後に今回の設定をまとめた .zshrc サンプルコードを掲載しておきます。 まとめ 普段使っているターミナルのプロンプトをカスタマイズするだけで、無機質な CUI がかわいく見えてきたりします。 黒い画面が苦手な方も、プロンプトのカスタマイズはとても簡単ですので、自分好みのカラーに変えてみたり日付や時刻を表示して楽しんでみてください。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Terminal: iCloud の Mobile Document へのシンボリックリンクを作成する

iCloud のドキュメントへ Terminal コマンドからシンボリックリンクを作成する際に、初歩的な問題で数十分ほどつまづきました。 今回はシンボリックリンクのおさらいを兼ねて、iCloud Document へシンボリックリンクを作成してみたいと思います。 目次 シンボリックリンクとは シンボリックリンクの使い道 iCloud の Mobile Document へのシンボリックリンクを作成する シンボリックリンクとは 特定のファイルやディレクトリを指し示す別のファイルを作成し、それを通じて本体を参照できるようにする仕組みで、Mac でいうところのエイリアスのようなものです。 エイリアスとシンボリックリンクの違いは、エイリアスがただのリンクであるのに対して、シンボリックリンクは、元のファイルやフォルダと同等に扱うことができると言う点です。 シンボリックリンクの使い道 複数台のマシンでアプリや開発環境を共有したい場合、マシンごとに設定を行うのは面倒です。 そういった場合、iCloud や Dropbox へ設定ファイルを作成しておき、各マシンのシンボリックリンクから クラウドに保存された設定ファイルを参照することで、マシンが違っても同じ環境で作業を行うことができます。 マシンを乗り換えた場合やリストアを行った場合には、最初からアプリや開発環境の設定を行うことなく、シンボリックリンクを作成するだけでこれまでどおりの環境で作業が行えるといった使い方ができます。 iCloud の Mobile Document へのシンボリックリンクを作成する シンボリックリンクを作成するコマンドは以下の通りです。 このコマンドで pathB から pathA(実体)へのシンボリックリンクが作成されます。 Windows のコマンドプロンプトだとこの pathA と pathB の定義が反対であるため、いつもどっちがどっちだったかを忘れてしまいます。 問題点 基本的にこの ln -s コマンドでシンボリックリンクが作成されるはずなのですが、iCloud を参照する場合問題が発生します。 ユーザーのホームディレクトリに abc.txt というシンボリックリンクを作成し、iCloud のモバイルドキュメント直下の abc.txt を参照したい場合は以下の様なコマンドになると思います。 うまくいく場合はこのまま問題なくシンボリックリンクが作成されますが、ドットから始まる不可視ファイル等に対してシンボリックリンクを作成した場合 No such file or directory のエラーが返されてしまうケースがあります。 解決法 よく入力したコマンドを見れば分かることなのですが、Mobile Document のフォルダ名にスペースが入っているため、これが悪さをしていたようです。スペースをエスケープすると無事シンボリックリンクが作成されました。 まとめ 今回のケースは Dropbox から iCloud へ一部の環境や設定ファイルを移行している最中の出来事でした。 両者とも便利なサービスなので、これからうまく使い分けていきたいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Terminal:git初心者でもこれだけ覚えれば大丈夫!よく使うgitコマンドの一覧

最近やっとgitを使い始めました。 知らない人が見れば難しそうに見えるgitのコマンド操作も、毎回やることは同じで決して難しいものではありません。よく使うコマンドをメモしておきます。 よく使うgitコマンドの一覧 とりあえずこれだけ覚えておけばいいと思うものをピックアップしました。 自分がファイルを更新した場合 ローカルリポジトリのルートフォルダに移動(例:/Users/usernameの場合) コミットするファイルを指定(例:カレントディレクトリ以下の全ての変更を指定する場合) コミットする(…には変更箇所のコメントを記述) ローカルリポジトリの変更を送信 他のリポジトリに変更が反映される 第三者がファイルを更新した場合 ローカルリポジトリのルートフォルダに移動(例:/Users/usernameの場合) 他のリポジトリの内容をローカルリポジトリに反映 ローカルリポジトリに変更部分がマージされる 直近コミットの変更(push前に追加したいファイルがあった場合) コミットする(…には変更箇所のコメントを記述) 更にコミットしなければいけないファイルがあることに気づく 追加でコミットするファイルを指定(例:カレントディレクトリ以下の全ての変更を指定する場合) 1のコミットを上書きしてコミット 直前のコミットを取り消す チェックアウト 余分なファイルを消去 直前のコミットを取り消す(ワークツリー、インデックスの変更まで取り消す) 変更が加えられたファイルを表示する コミットログを閲覧する まとめ ブランチを切ったりマージしたり、より高度なバージョン管理を行うためにはこれだけでは不十分ですが、個人またはチームで小規模なプロジェクトの作業を行うときは、この程度のコマンドで事足りるかと思います。 gitに関しては、自身のレベルが上った時にあらためて記事にしたいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Terminal:ロリポップサーバー(チカッパプラン)で認証鍵によりパスワード無しでSSH接続する

ロリポップサーバーのチカッパプランであればSSH接続が可能になりますが、接続の度に自動生成された長いパスワードを入力するのは面倒です。 公開鍵を作成し、認証を行えばこれらのフェーズを省略できます。 ローカル側 ロリポップユーザー専用ページへログインしメニューの「WEBツール」>「SSH」より「SSHを有効」にし「sshサーバー名」「sshアカウント名」をメモする 鍵の作成 $ ssh-keygen -t dsa 「パスフレーズ」を入力し鍵の作成完了 公開鍵をサーバーへ転送 $ scp -Cpr -P2222 ~/.ssh/id_dsa.pub lolipop.jp-XXXXXXXXXXXXXXXX@sshXXX.lolipop.jp:~ ※@の前に「sshサーバー名」,@の後に「sshアカウント名」を入力 サーバー側 ターミナルからsshでサーバーへ接続する(要パスワード入力) ssh lolipop.jp-XXXXXXXXXXXXXXXX@sshXXX.lolipop.jp -p 2222 公開鍵のフォルダを作成 $ mkdir .ssh 公開鍵を先ほど作成したフォルダへ移動 $ mv id_dsa.pub .ssh/authorized_keys 公開鍵のフォルダのパーミッションを変更 $ chmod 600 .ssh/authorized_keys $ chmod 700 .ssh 接続テスト 別ターミナルを開き再度ssh接続 ssh lolipop.jp-XXXXXXXXXXXXXXXX@sshXXX.lolipop.jp -p 2222 鍵作成時の「パスフレーズ」を入力しログイン(完了) まとめ 1度この設定を行えば、次回からはパスワード無しでログイン出来るようになります。さらにsshコマンドをエイリアスで登録すれば、瞬時にssh接続も可能です。是非チャレンジしてみて下さい。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

C++:Mac OS Xターミナルからcppファイルをコンパイルし実行する

Xcodeを使うまでもないちょっとしたC++のテストファイルをテキストエディタで作成し、ターミナルでコンパイルと実行をしたい場合のメモ。 ターミナルからcppファイルをコンパイルする ターミナルを起動する コンパイルしたいcppファイルのある階層まで移動する 以下のコマンドを入力する(コンパイルしたいファイルがtest.cppの場合) 生成されたa.outを出力する まとめ MacだとXcodeをインストールしていればgccコンパイラが使用できるので楽ですね。

Mac OS X:ターミナル(Terminal)デフォルトのシェルをzshに変更する

Macのターミナルのデフォルトシェルをzshに変更します。 変更の手順 zshのインストールはhomebrewで行う(※要homebrew) ターミナルで以下を実行し 以下を最下段に記述(※要vi,vimのオペレーション) さらにターミナルで以下を実行する システム環境設定の「ユーザとグループ」を開き、ロック解除 シェルを変更したいユーザを「右クリック」>「詳細オプション」を開く ログインシェルが になっていれば変更完了 まとめ zshの補完機能は非常に便利です。すぐさまデフォルトのシェルを変更するべきですね。

Mac OS X:ホームのライブラリフォルダの表示・非表示を変更する

MacOS X のデフォルトでは非表示となっているライブラリ(Library)フォルダを表示する。 ライブラリフォルダ表示の手順 ターミナル(Terminal)を開く 以下のコマンドを実行すれば、ライブラリフォルダの表示/非表示が切り替えられる 表示 非表示 まとめ ある程度MacOSに慣れて来たら、ここは常に表示しておくべきでしょう。

Mac OS X:Terminalコマンド>ドットファイル(不可視ファイル)の表示・非表示を変更する

MacOS X デフォルトでは表示されない、ドットファイル等の不可視ファイルを表示する方法。 不可視ファイルの表示手順 ターミナル(Terminal)を開く 以下のコマンドを実行する 不可視ファイル表示 不可視ファイル非表示 まとめ 不可視ファイルの表示・非表示を頻繁に切り替える場合、シェルのエイリアスに上記コマンドを登録しておけば、ターミナルで瞬時に切り替えられるので便利です。