Chromebook単体でもPNG圧縮ができるようにした話

Chromebook生活
この記事は約6分で読めます。
この記事を書いたひと
にゃぁ㌠

主にDQX(ドラゴンクエスト10)で活動していました(過去形)。
ゲーム記事多めです。
コロコロとかわる「好きなこと」だけを書いています。
なにかありましたらツイッターまでお気軽にご連絡ください(๑>ڡ<๑)

にゃぁ㌠をフォローする
まとめ

PNG画像ファイルをLinuxコマンドで圧縮する方法とその導入手順を調べて記事にしました。

ブログを更新しようと思って記事を書き始めると気づくことがありました。

あれ?スクショってどうやって撮るの?しかしこれはすぐに偉大なる先人様によって解決しました。ありがたや〜。

しかし、スクショを撮って保存すると出来上がるPNGファイルは、当たり前ですが、大変ファイルサイズが大きいです。

Windows10ではpngquantのコマンドライン版を右クリックのサブメニューから呼び出せるようにしてあるので、比較的簡単に圧縮作業はこなせていたのですが、Chromebookでは皆さんどうしているのかなー?とすこし調べたのですが、Webサービスを使っている様子?

いやいや、まってそんなw(真顔とか思って。結構な時間、調べたんですけど、なんかもう情報が古くて調べたら判るどころの話じゃなかったw

でも、なんとかChromebookだけでPNG圧縮できるようにしたのでメモしておきます。

Crostiniを導入

まず検証した環境としてはChromeOS 73の公式ビルドです。

ChromeOSの73ではLinuxコンテナ(Crostini)が利用できるので、Linux版のpngquantを利用します。

Crostiniをまだ導入してない場合は設定パネルからポチッとするとインストールできます。

オンにするをタップ。

2分くらいかな、わりとすぐ終わります。

CrostiniはLinuxコンテナという技術で実現されていて、大雑把に言うと安全なLinux環境エミュレータのようなもの?と理解していますが、正確に知らなくてもなんとかなる。うん。

Windows10でいうところのパワーシェルにあたるものと思えばよいです。正確には違いますが、そういうフィーリングです。

準備

更新

まず、正常にLinuxを動かすために、Linuxコマンド群をアップデートします。

sudo apt-get update
sudo apt-get upgrade

わりと時間がかかるので、コーヒーでも淹れながら待ってました。

コンパイラの導入

Packages for Linux and Unix

Linux用の実行ファイルのバイナリも配布されてるようなんですけど、どれ使ったらいいかわからなかったので、ソースコードを入手して、Chromebook 内で作ることにしました。

簡単な方法

$ sudo apt-get install pngquant

もっとしらべたらすぐわかったw

ソースコードを実行できるファイルにするにはコンパイルという変換作業が必要になるので、その変換用のコマンドを導入します。

sudo apt install build-essential

続けますか?ってところどころ聞かれますが「y」と入力してエンターする簡単なお仕事です。

コンパイラが導入できました。

ソースコードの入手とコマンドの作成

sudo git clone git://github.com/pornel/pngquant.git

インターネット上にあるソースコード置き場から最新ソースコードを取得するコマンドgitでソースコードをChromebookのローカルに保存します。

これはね、すぐおわります。

あとは取得したソースコードに含まれるコンパイル用の設定ファイルにアクセスできるようにカレントディレクトリを移動してmakeコマンドでコンパイルします。

cd pngquant
sudo make

もしmakeしたときに、pngquant.o がなんか欲しすぎるのでストップした、みたいになったら、

sudo apt-get install libpng-dev

を実行したあと、もう一度makeコマンドを実行してください。

makeが終わったらあとはインストールするだけです。

sudo make install
pngquant --version

ちゃんとインストールされたかをバージョン表示で試してみても良いと思います‪(*´꒳`∩)‬

ファイルの共有設定をする

インストールが終わったので、あとはスクショを実際に圧縮してみるだけ、なんですが、その前にインストールしたコマンドがスクショにアクセス出来るようにしないといけません。

ファイルアプリを起動してマイファイルを選択したらダウンロードを右クリック(2本指タップ)します。Linuxとの共有を管理をタップします。

Linuxアプリに対して、ダウンロードフォルダのファイルの編集を許可しますはOKをタップ。

これで共有が許可されたので、Linuxからスクショにアクセス出来るようになりました。

圧縮してみる

それでは圧縮していきますよー!‪(*´꒳`∩)‬

共有を許可したダウンロードファイルのフォルダは「/mnt/chromeos/」の配下に格納されます。

マイファイルのダウンロードファイルフォルダは「MyFiles/Downloads」という名前で格納されていますので、フォルダを移動(cd /mnt/chromeos/MyFiles/Downloads)して圧縮コマンドを入力します。

ちなみに、SDカードは「removable」という名前で格納されます。

cd /mnt/chromeos/MyFiles/Downloads
pngquant --skip-if-larger --ext .png --force *.png

pngquantのオプションは「pngquant –help」で表示されるので、お好みで設定してください。

ちなみにわたしは「pngquant –skip-if-larger –ext .png –force –verbose *.png」としています。

だいたい半分のファイルサイズになっています‪(*´꒳`∩)‬たすかるわー

おまけ

ファイルアプリは起動直後、ホームディレクトリという場所で起動されます。

スクショファイルにアクセスするのに長いコマンドをいちいち入力するのは大変なのでショートカットを作ります。

ln -s /mnt/chromeos/MyFiles/Downloads downloads

ショートカットをつくるコマンドを実行すると、ホームディレクトリにショートカットが作成されます。

cd downloads

次回からは短縮した文字数でカレント移動が出来るようになります。

矢印キーの↑↓で入力したコマンドの履歴にアクセスできるので、そちらを使ってもいいです。

わたしは圧縮し終わったファイルはSDカードに移動してしまうように運用していますが、何が正解なのかな〜?自動的に圧縮するようにしたいんだけどまだ探せていません。

タイトルとURLをコピーしました