Corredor

ウェブ、プログラミングの勉強メモ。

Linux

jq をインストールするワンライナー

jq をよく使うので、ワンライナーでインストールする方法をまとめておく。 公式の GitHub が Release しているバイナリをダウンロードするのがてっとり早そう。 sudo curl -sS -o /usr/local/bin/jq -L https://github.com/stedolan/jq/releases/download/jq…

Freenom ドメイン・Let's Encrypt 証明書の有効期限を確認・通知する仕組みを作った

最近、いくつかのサイトで Freenom で独自ドメインを取ったり、Let's Encrypt で証明書を取って HTTPS 化したりしている。 GCE https://neos21-gce.ga/ CentOS + Apache → Let's Encrypt を手動設定 OCI 1 https://neos21-oci.cf/ Oracle Linux + nginx → Le…

Ubuntu 18.04 に nginx + fcgiwrap + php-fpm で CGI 環境を構築する

以前、CentOS 系の Linux で CGI on nginx をやったが、今回はそれの Ubuntu 版。 neos21.hatenablog.com 前提条件 Ubuntu 18.04 nginx はインストール済 (apt install -y nginx 程度) root ユーザで作業 $ nginx -v nginx version: nginx/1.14.0 (Ubuntu) C…

Raspberry Pi 4 + Elecrow 5インチ LCD で 720p・1080p 解像度で表示する方法

ラズパイ4用に買った Elecrow の5インチ液晶。 neos21.hatenablog.com デフォルトの解像度は 800x480 で、ちっちゃくて使いづらかった。 /boot/config.txt を修正すると解像度が変更できるようだったのだが、イマイチ効かなくて試行錯誤していた。今回ようや…

code-server でクラウド上のマシンに VSCode を入れる

Microsoft 本家が Visual Studio Codespaces (旧称 VS Online) なんかを始めて、「ブラウザ上で動く VSCode」というのが結構イイカンジになってきた。 そのような仕組み自体は以前から複数あり、中でも code-server は自分で好きなマシンにインストールでき…

シェルスクリプトファイルに実行権限を付与する意味は?

実行権限が必要な理由を考えた。 疑問 ユーザがインタプリタを知らずに実行できるようになる バイナリファイルを実行して良いかどうかの目印 インタプリタで実行するスクリプトは読み込み権限と実行権限が必要 腑に落ちた? 疑問 Linux で、次のようなシェル…

Ubuntu 18.04 の SSH ポートを変更する

Ubuntu 18.04 の SSH 接続時のポート番号を 22 から変更する。何度かやっていることだけど、手順を毎回忘れるので、何度でも書く。 変更前に見ておくべき点は、ufw と iptables の設定。変更後のポートへのアクセスを許可した状態にしておく。 $ sudo ufw ap…

wsl-open:WSL で xdg-open する

デスクトップ環境を持つ Linux において、MacOS の open コマンドに相当することをやる際は、xdg-open というコマンドが使える。 一方、WSL を CUI でのみ使っている場合は、xdg-open では Windows 側の GUI アプリでファイルを開けない。 そこで使えるのが …

Vim でファイル保存時にディレクトリがなかったら作る

Vim で新規ファイルを作成する時、指定したサブディレクトリがないと保存できない。 # 「hoge/fuga/」ディレクトリが存在しないと保存できない $ vim hoge/fuga/test.txt その場でなんとかするなら :!mkdir -p %:h とシェルコマンドを打てばディレクトリが作…

Ubuntu 18.04 で自動ログインできるようにする

Ubuntu 18.04 の GNOME デスクトップで、マシン起動時にログイン画面を出さず自動ログインできるようにする方法。ググラビリティ向上のため英語表記と日本語表記を両方書いておく。 「設定」アプリ → ユーザ → 「自動ログイン」を On にする Settings → User…

Ubuntu 18.04 に Docker をインストールする

以前 CentOS に Docker をインストールしたが、今回は Ubuntu 18.04 にインストールする。 neos21.hatenablog.com 以下の公式サイトのガイドをそのままやっていく。 Install Docker Engine on Ubuntu | Docker Documentation $ sudo apt-get update $ sudo a…

WSL・Ubuntu に Linuxbrew (Homebrew) を入れてみる

MacOS でおなじみのパッケージ管理ツール、Homebrew。それを Linux でも利用できるということで、試してみた。 以前は Linuxbrew と呼ばれていたらしいが、現在は特に MacOS 版と区別なく Homebrew と呼称されている。WSL 上の Ubuntu 18.04 と、素の Ubuntu…

「n」を使って Ubuntu 環境で Node.js をバージョン管理する

Node.js 本体のバージョン管理ツールとして、自分は Windows では Nodist MacOS では Nodebrew を使い続けている。 neos21.hatenablog.com Nodebrew は Linux にも対応しているので、WSL2 Ubuntu や CentOS で使っても良いだろう。 GitHub - hokaccha/nodebr…

Ctrl + D でターミナルを閉じないようにする

通常の「ターミナル」で作業している時とか、docker exec でシェルに入っている時とかに Ctrl + D を押下すると、シェルからログアウトされてしまう。 Ctrl + D は EOF (End of File)、ファイルの終わりを示す特殊文字で、標準入力の終了を示すことから、シ…

moreutils の中の便利そうなコマンド : sponge と vidir

moreutils という便利コマンド集があって、Yum とか Homebrew とかで簡単に入れられるので試してみた。今回はその中でも特に有用そうな2つのコマンド、sponge と vidir を紹介する。 moreutils のインストール方法 sponge vidir 以上 moreutils のインストー…

ラズパイ4に接続している Bluetooth 機器を信頼する : bluetoothctl

ラズパイ4に Bluetooth キーボードを接続したのだが、どうも接続が切れやすい。自動で再接続してくれるように出来ないかなーと思い調べてみた。 ラズパイで Bluetooth 管理するためのツールとして、Bluez というパッケージが知られている。恐らくデフォルト…

VSCode + SSH 開発。Remote SSH 拡張機能を使ってみた

VSCode Remote Development Extension Pack 概説第3弾。 開発用の Docker コンテナを立ち上げる Remote Containers WSL 環境を VSCode で開く Remote WSL そして今回は、SSH 接続先サーバのディレクトリをホスト側の VSCode で開けるという前代未聞の拡張機…

JavaFX + OpenCV でウェブカメラを扱う GUI アプリを作り Gradle でセットアップした

Gradle を使ってセットアップした Java プロジェクトにて、JavaFX と OpenCV を組み合わせた GUI アプリを作ってみた。 何ができるアプリか ソースコード 動作確認環境 JDK 1.8.0_65 をダウンロードする OpenCV をセットアップする 使い方 覚えたこと $ ./gr…

CentOS7 に Python3 をインストールして Apache 上で CGI として動かす

タイトルのとおり。CentOS 7 系のサーバに、とりあえず何らかの Python 3 系をインストールして、Apache 上で CGI として動かせるようにした。 Python3 をインストールする Apache で CGI として使えるようにする Python スクリプトを書いてみる 以上 Python…

Linux Ubuntu でも「コマンドラインでクリップボードにコピー」を実現する

Windows の場合は clip.exe、MacOS の場合は pbcopy という OS 標準搭載のコマンドを使うことで、文字列をコマンドラインからクリップボードにコピーできる。 コレと同様のことを Ubuntu 18.04 デスクトップ環境でも実現してみる。 xclip をインストールする…

2台目の ThinkPad X250 に Ubuntu と Windows のデュアルブート環境を作る

先日故障して処分した、1台目の ThinkPad X250。コチラは元あった SATA HDD を取り外し、240GB の SATA SSD に換装して Ubuntu をインストールして使っていた。 neos21.hateblo.jp neos21.hatenablog.com neos21.hatenablog.com 1台目の ThinkPad X250 が壊…

chmod のシンボルモードを覚える

chmod コマンドは、3桁の数字を記載する「数値モード」と、rwx を +- とかで操作する「シンボルモード」という、2種類のパーミッション指定方法がある。 自分は数値モードの方が直感的で多用していたのだが、-R オプションでファイルやディレクトリに再帰的…

Ubuntu 18.04 で NotePad++ (Wine) を試してみたが、豆腐文字化けで挫折

「Ubuntu ソフトウェアセンター」を見ていたら、NotePad++ がインストールできることを知った。Windows 向けのアプリを Linux 上で動かせる Wine という技術を使用しているようだ。 さっそくインストールしてみると、インストールはすんなりできて、起動自体…

古めかしいコンソールを再現する「cool-retro-term」を試してみた

ブラウン管に映ったような古めかしい「端末」を再現する、「cool-retro-term」というアプリを試してみた。 GitHub - Swordfish90/cool-retro-term: A good looking terminal emulator which mimics the old cathode display... MacOS の場合 Ubuntu の場合 W…

コマンドラインで Google 検索を行う googler を試してみた

コマンドラインから Google 検索を行える、Googler というツールを試してみた。 GitHub - jarun/googler: Google from the terminal 検証は MacOS にて。以下のコマンドでシングルバイナリをダウンロードしてインストールした。 sudo curl -o /usr/local/bin…

htop と gtop を試してみる

リッチな top コマンドである htop と gtop を試してみる。 htop gtop htop htop は OS に応じてパッケージマネージャでインストールする。C 言語製。 $ brew install htop # MacOS $ sudo apt install htop # Ubuntu など $ sudo yum install htop # CentOS…

xdg-open : Linux の GUI で Mac の open コマンドっぽいヤツ

MacOS において open コマンドを使うと、 ディレクトリを指定すれば Finder が開き、 ファイルを指定すれば「テキストエディタ」など適切なソフトでファイルが開く といった動きをする。 Windows の場合は start コマンドを使ったり、explorer.exe の引数に…

Ubuntu に Chrome リモートデスクトップをインストールして使えるようにするまで

ThinkPad X250 にインストールした Ubuntu 18.04 に、Chrome リモートデスクトップをインストールして、Windows・MacOS・iPhone の Chrome リモートデスクトップから接続できるように設定した記録。 ただインストールするだけではすんなりいかないのでメモメ…

chown と chgrp を1回で実行する方法

root ユーザでファイルを作ったりしていて、やっぱり apache ユーザとグループで作らないといけなかったー、みたいな時に、 $ chown apache target_file $ chgrp apache target_file と2回コマンドを実行していた。コレがめんどくさいので、chown と chgrp …

CentOS 7 に最新の awk (gawk) をインストールする

GNU awk (gawk) はまだまだ進化しているようで、本稿執筆時点ではメジャーバージョンが v5 になっている。さすがにメジャーバージョンが変わると慎重になるが、v4 系に後から追加されたオプション引数を試してみたく、v4.2.1 をインストールしてみた。 試し…