QiitaQiitaの最新情報を7時、12時、19時にTwitterでお届けします。LinuxPythonJavaScriptRailsRubyAWSPHPdockerJavavue.jsSwiftAndroidiOSC#UnityLinuxNode.jslaravelGoCSSGitHTMLReactMacMySQLC++TensorFlowDeepLearningKotlinSQL新人プログラマ応援202001202020/02/282020/02/272020/02/262020/02/252020/02/242020/02/232020/02/222020/02/212020/02/202020/02/1920200120のLinuxに関する記事は13件です。解決したDNSサーバを確認したい場合は+identifyオプションを追加デフォルトはAレコード検索。~サーバ構築編~はじめにGCPを初めて半年未満の初心者が勉強のためにマイクラサーバを建ててみたって話です。マイクラサーバ用のインスタンスの作成なにはともあれマイクラサーバ用のインスタンスを作成しないとなにも始まりませんね。基本的には以下の公式ドキュメントを参照し作成していきます。GCPは公式ドキュメントはかなりわかりやすいものが用意されていて初心者には大助かりでした。サーバーのセットアップインスタンスについては私はこのような設定で作成しました。インスタンスの制限プリエンプティブルインスタンスを有効にするメリットは、単純にインスタンスの費用が通常の3分の1で済みます。今回のマイクラサーバについては、ログインしっぱなしなんて状況はほとんど無いと思いましたので、コストを大幅に下げれることを優先しプリエンプティブルインスタンスを採用しました。目標にも記載しましたが、discordからゲームをする時だけインスタンスをスタートし、終わったらストップするのであまり障害はないものと思っています。デメリットについては、公式ドキュメントに詳しく記載されているのでそちらを参照してください。追加ディスクについては公式ドキュメントに記載されている通りに作成します。公式はOSがDebianを使用しており、私はCentOSを使用しているのでコマンドが一部ですが違ってきます。違っている箇所を記載していますので、公式ドキュメントと合わせて読んでいただけると幸いです。default-jre-headlessマイクラサーバのダウンロードとインストール公式ではwgetを使いダウンロードしていますが、centOSにはデフォルトでwgetは入っていないのでインストールします。ダウンロードリンクについてはminecraftのダウンロードページから最新のリンクをコピーして差し替えてください。-Xmx3G」とあるが、こちらはメモリの割り当てをしているもので、マシンスペックに合わせて調整が可能です。初回起動が終わると同ディレクトリ内にいくつかファイルが生成され、その中にeula.txtというファイルがあるので下記コマンドで開き編集します。変更し、保存して終了します。eula.txtここに内容を記載ここまでで最低限必要なセットアップは完了しました。このままだとサーバからログアウトするとセッションが切れてマイクラサーバは停止してしまいます。この問題を解決するためにscreenを使用します。screenのインストールからです。screenインストールしたscreenを使いマイクラサーバを実行します。スクリーンコマンドの使い方は以下のページを参考にさせていただきました。ポートとして使用しますのでそちらに合わせたファイアウォールルールを作成します。ポートを変更したい場合は同ディレクトリにあるserver.propertiesを編集することで変更可能です。server.propertiesでは他にもマイクラサーバの様々な設定を変更することが可能です。定期バックアップの設定・実行マイクラをプレイしていて突然クラッシュしデータが飛んでしまった。悲しいことは私も何度か経験があります。そんな時のために定期的にバックアップを取ることは必須ですよね。基本は公式ドキュメントの「定期バックアップをスケジュールする」の項目通りに進めます。バックアップ用のスクリプトを作成し、cronを使い定期的に実行します。cronジョブをスケジュールするには、crontabに書き込む必要があります。/home/minecraft/backup.sh上記の設定をすると4時間ごとにbackup.shを実行されるようになります。公式ドキュメントでは4時間でされていますが、私はクラッシュし復旧させる際に4時間も前の状態に戻るのは精神的にきついので1時間ごとにしました(笑)。cronについて詳細は以下のページを参考にさせていただきました。cronの設定方法バックアップを世代保存するバックアップを取り続けるだけですと、ファイルが膨大になってしまいますので一定の世代分だけを常に残すように設定します。CloudStorageではオブジェクトのライフサイクル管理という機能があります。簡単に説明すると自動的に古いバックアップを削除してくれるものです。設定については公式ドキュメントの「古いバックアップを自動的に削除する」の項目通りに進めます。日間ではなく3日間にしました。私の場合は1時間ごとにバックアップを取るので1日で24回、7日間も残すとなると168回分のバックアップが残ります。コストを考慮し3日間にしました。まとめいかがでしたでしょうか、ここまででマイクラサーバの構築編は終了です。次回は作成したマイクラサーバの操作をdiscordから実行する方法について書いていきます。bionicIntelliJのバージョン。起こっていた事象は、TL;DRに同じ。日本語入力に切り替えられなくて、困っていました。IMEは、Mozcを使っています。調べたら、以下のような記事を見つけたので、IntelliJの起動に使うJavaを切り替えて試してみました。2019.2等でmacOS環境において日本語入力中に発生する問題と回避策IntelliJにバンドルされている(デフォルトで起動に使われる)Javaは、こちら。mode)以下のドキュメントを見て、今回は環境変数で設定する方法を選択。8で起動するようにしました。IDEA_JDK=/usr/lib/jvm/java-1.8.0-openjdk-amd64今回は、これで解決、と。TweetQiitaで続きを読む投稿日:2020-01-20T15:52:37+09:00Teratermで自動SSHログインするためにとりあえずttlファイルにこれを書くTeraTermでLinuxサーバにログインするときに聞かれるユーザー名とパスワードを、いちいち入力することが面倒な時は、自動ログインマクロを作っておくと楽です。以下、SSHでログインする場合のソースを置きましたので、コピー&ペースト後、username,hostname,passwordを各々書き込んで、「ttlファイル」に保存してご利用ください。鍵が必要であったり、プロキシを通過するようなケースですと、別個編集が必要となります。2回Tabを押さないとスラッシュがつかない。私はファイル自体がなかったので作りました。~/.inputrc若干の弊害シンボリックをrmする時に/がついてしまうと、実態を消そうとしてしまう。誤って実体を消してしまわないように注意。HubからDockerイメージをダウンロードします。Hubで公開されているDockerイメージは、自由にダウンロード、保存することができます。ubuntu:18.04Dockerコンテナのデプロイ保存済みのDockerイメージを用いて、Dockerコンテナを立ち上げます。Dockerコンテナをデプロイする際、様々なオプションがあります[1][2]。今回使用するオプションは、-it、--privileged、--env、--volume、--nameです。terminal)を割り当てることで、Dockerコンテナ上でBashを使用できるようにします。続いて--privilegedにより、全てのデバイスに対するアクセスを許可します。--envでは、Dockerコンテナ内で使用する環境変数を指定します。--volumeでは、ホストOSのディレクトリをゲストOSにマウントすることができます[3]。--nameではコンテナ名を指定することができます。ubuntu:18.04パッケージのインストールまずはUbuntuお決まりのアップデート、アップグレードです。upgrade続いて、エディタとしてVimをインストールしておきます。vimプログラミング言語にはPythonを使用します。libssl-devpipを使用してOpenCVをインストールします。opencv-python画像表示プログラムを作成OpenCVを使用して画像を表示する基本的なプログラムを作成しておきます。pressedcv2.waitKey(0)cv2.destroyAllWindows()トラブル1:OpenCVを正しくインポートできないまずPythonを実行して、OpenCVが正しくインポートできるかテストしてみます。directory案の定、エラーによりOpenCVをインポートできません。このエラーは、libsm6、libxext6、libxrender-devのインストール[4]により解決できます。libxrender-devインストール後、もう一度OpenCVをインポートできるかテストしてみます。cv2OKですね!トラブル2:画像を表示できない先程作成したopen_image.pyを実行してみましょう。:1PCとのディスプレイ接続に失敗しているようです。ホストPC側で、ゲストPCからのホストPCディスプレイへの接続要求を拒否していることが理由でした。別のターミナルを開けて、ホストPC側で下記コマンドを実行すると、ディスプレイへの接続を許可[5][6][7]することができます。host再度Dockerコンテナを実行していたターミナルに戻り、open_image.pyを実行してみましょう。0x247...別のエラーが出てきました。エラー原因を調査したところ、環境変数にQT_X11_NO_MITSHM=1を追加することで解決できるそうです。.bashrcファイルをVimで開きます。~/.bashrc続いて、環境変数QT_X11_NO_MITSHM=1を追記します。QT_X11_NO_MITSHM=1.bashrcファイルを保存した後、環境変数の追加を反映させるため、sourceコマンド[8]を実行します。~/.bashrcechoコマンドを使用して、環境変数が正しく追加されているか確認してみましょう。$QT_X11_NO_MITSHM1OKですね!三度目の正直です。open_image.py画像が表示されました!!!おわりに様々なトラブルがありましたが、無事にDockerコンテナとPCディスプレイを接続して、OpenCVにより画像を表示させることができました。今回の検証より、Dockerコンテナをデプロイする際には、下記のように環境変数QT_X11_NO_MITSHM=1を追加しておくと良いことも分かりました。HubからDockerイメージをダウンロードします。Hubで公開されているDockerイメージは、自由にダウンロード、保存することができます。ubuntu:18.04Dockerコンテナのデプロイ保存済みのDockerイメージを用いて、Dockerコンテナを立ち上げます。Dockerコンテナをデプロイする際、様々なオプションがあります[1][2]。今回使用するオプションは、-it、--privileged、--env、--volume、--nameです。terminal)を割り当てることで、Dockerコンテナ上でBashを使用できるようにします。続いて--privilegedにより、全てのデバイスに対するアクセスを許可します。--envでは、Dockerコンテナ内で使用する環境変数を指定します。--volumeでは、ホストOSのディレクトリをゲストOSにマウントすることができます[3]。--nameではコンテナ名を指定することができます。ubuntu:18.04パッケージのインストールまずはUbuntuお決まりのアップデート、アップグレードです。upgrade続いて、エディタとしてVimをインストールしておきます。vimプログラミング言語にはPythonを使用します。libssl-devpipを使用してOpenCVをインストールします。opencv-python画像表示プログラムを作成OpenCVを使用して画像を表示する基本的なプログラムを作成しておきます。pressedcv2.waitKey(0)cv2.destroyAllWindows()トラブル1:OpenCVを正しくインポートできないまずPythonを実行して、OpenCVが正しくインポートできるかテストしてみます。directory案の定、エラーによりOpenCVをインポートできません。このエラーは、libsm6、libxext6、libxrender-devのインストール[4]により解決できます。libxrender-devインストール後、もう一度OpenCVをインポートできるかテストしてみます。cv2OKですね!トラブル2:画像を表示できない先程作成したopen_image.pyを実行してみましょう。:1PCとのディスプレイ接続に失敗しているようです。ホストPC側で、ゲストPCからのホストPCディスプレイへの接続要求を拒否していることが理由でした。別のターミナルを開けて、ホストPC側で下記コマンドを実行すると、ディスプレイへの接続を許可[5][6][7]することができます。host再度Dockerコンテナを実行していたターミナルに戻り、open_image.pyを実行してみましょう。0x247...別のエラーが出てきました。エラー原因を調査したところ、環境変数にQT_X11_NO_MITSHM=1を追加することで解決できるそうです。.bashrcファイルをVimで開きます。~/.bashrc続いて、環境変数QT_X11_NO_MITSHM=1を追記します。QT_X11_NO_MITSHM=1.bashrcファイルを保存した後、環境変数の追加を反映させるため、sourceコマンド[8]を実行します。~/.bashrcechoコマンドを使用して、環境変数が正しく追加されているか確認してみましょう。$QT_X11_NO_MITSHM1OKですね!三度目の正直です。open_image.py画像が表示されました!!!おわりに様々なトラブルがありましたが、無事にDockerコンテナとPCディスプレイを接続して、OpenCVにより画像を表示させることができました。今回の検証より、Dockerコンテナをデプロイする際には、下記のように環境変数QT_X11_NO_MITSHM=1を追加しておくと良いことも分かりました。Pclinuxos64-kde5-2019.11日本語設定でちょっと苦労しました。日本語キーボードが設定できない。こちらのコマンドで反映出来ました。