パソコンオタクになりたい

難しいことは抜きにしてソフトからハードまでパソコンを楽しんでいます。Linuxが好きなのでLinuxの記事多めです。もっとデスクトップとしてのLinuxが普及すればいいのになと思っています。

【Linux専用機】新しいジャンクパソコン買っちゃった!

 

名古屋は大須、ショップインバースさんでジャンクパソコン買っちゃいました。

購入したのは、dynabook T451/46EB。

アダプタは別売りですが、同時購入で割り引いてくれるので、合わせて3,550円でした。

 

メーカー公式のスペックは以下の通り。

発売:2012年

CPU:Core i5 第二世代

メモリ:4GB(1スロット空きで8GBまで増設可)

HDD:750GB

その他:DVD-RW無線LAN内臓

 

正直、今では貧弱なスペックですがLinux専用機にするつもりだったので、むしろ大歓迎。

ストレージあり、無線LANあり、通電・起動OK、が最低条件で、あとはコスパ次第、という感じで探していました。

決め手になったのは、HDDが1000GBもあること!

デフォルトは750GBのようですが、増強されて使われていたようです。

ほぼほぼストレージ目当ての買い物かもしれんって感じです。

Linux専用機ではありますが、バックアップ用途でも使えそうです。

今どきは、クラウドサービスでバックアップを取るっていう人も多いと思いますが、サブスクが嫌いなもので。

外付けHDD1個しかもっていなかったので、ようやく2つ目のバックアップが作れました。

 

ジャンクだけあって、外観はきれいではないです。

会社で使われていたのか、管理番号でも貼っていたようなシール跡もあります。

 

購入時のシールも全部残っています。

Windows7時代のパソコンのようです。

Windowsではなくなるので、後で全部はがします。

 

トラックパッドが、初めて見る質感だったのでパシャリ。

トラックパッド上のボタンはなんだろう…

後々、Linuxを入れて押してみましたが、無反応でした。

 

ということで、さっそくスイッチおーーーーーーーーーん!

 

予想通りOSは入ってなかったです。

まぁ、シールに書いてなかったしね。

OS入ってたら、Windows10、とかって書いてあるので。

ということで、最近ずっと使っていた MX  LinuxのUSBを挿して、再度スイッチおーーーーーーーーーん!

 

無事に認識しました。

そのままUSB起動します。

写真では、インターネットにつながってないですが、自動でWifiも認識したので、無線LANも大丈夫でした。

一応ジャンクなのでね。確認するまでは不安でしたよ。

 

このままHDDへのインストール作業に入ります。

なんとなくで設定していきます。

1000GBを3つのパーティションに分けてインストール。

完了直後が以下の画面です。

分けたパーティションで、すでに20GBも使われているのはなぜだろう…


今回は、HDDへのインストールなので、アプリもどんどん入れて、カスタマイズもしていきます。

 

とりあえず現状はこんな感じ。

壁紙はずっと悩みの種です。

 

せっかくなので、Linuxコマンドでのリソース確認。

あんまり見方わからんのでペタペタと貼っていくだけです。

 

CPU情報

公式の情報通り、Core i5の第二世代です。

 

メモリとHDD

4GB、1000GBで認識されています。

 

アプリの立ち上げ時は、さすがに第5世代のCore i5よりもっさりします。

軽いデスクトップ環境のFluxboxやLXDEなら、さくさく動くかな、と思って試してみましたが、個人的にしっくりこなかったので、結局、Xfceにしています。

立ち上がってしまえば、ストレスなく動いているので。

Youtubeも問題なく再生できます。

 

メモリスロットが1個空いているので、転がっていた2GBを挿しておきました。

「転がっていたメモリ」って言ってみたかった一言です。

ジャンカーYoutube見てると、みなさん転がっていたメモリやストレージを使っているのでw

違いがわかるか微妙ですが、4GB→6GBにパワーアップです。

ちなみにMX Linuxなら、アプリケーションメニュー→MXツール→MXウェルカムの画面でも、CPUやメモリなど確認できます。

なかなかユーザーフレンドリーです。


見た目の方もシールはがしを使ってきれいにしました。

さよならWindows

こんにちはLinux

Linuxのシールあればいいのに。

 

15.6インチの大型ノートなので、基本は家での使用になります。

今のメイン機(Core i5の第5世代)よりもスペックは劣りますが、Linuxを学びたいので、こっちをメイン機にします。

 

MX LinuxにSpotifyをインストール

パソコンを使っているときは、音楽をよく聞きます。

Youtubeでも聞きますが、Spotifyでも聞きます。

LinuxでもSpotifyを使えるのだろうかと思い調べてみたら、公式サイトでインストールコマンドを公開していたので入れてみました。

Linux 用 Spotify

上記サイト下部の「Debian / Ubuntu」のところにある3つのコマンドを実行したら、特につまずくこともなく、インストールできました。

インストールできていたら、マルチメディアのところにアイコンができています。

 

インストール直後は、英語設定になっています。

 

設定のところから日本語に変更したら、あとは音楽ライフを楽しむだけ。

ヨルシカ最高!

 

ちなみに。

MXパッケージマネージャでもSpotifyは出てきますが、こっちでインストールしようとしたらエラーでできませんでした。

 

ジョークコマンドの定番slっぽいものを自分でも作ってみた

図書館でLinuxの入門本を2冊借りました。

だいぶと古い本ですが、そのどちらにも「sl」コマンドが紹介されていました。

ジョークコマンドでslと打つと、端末上でSL機関車が走り出す、というもの。

一覧表示のlsをタイプミスしたときに出るっていうのが狙いのようです。

日本の方が作ったんかな?

ぶっちゃけ何の実益もないですが、入れたくなったので入れてみました。

 

ということでキャプチャがこちら。

画像だと伝わらないですが、この機関車が右から左に走っていくアニメーションが見れます。

ターミナルでアニメーションが見れるなんて感動です。

ちなみにインストールは以下のコマンドです。

sudo apt install sl

 

もし、見つからない、って言われた場合は更新してみてください。

sudo apt update

 

ここまで豪華なアニメーションはめんどいけど、ちょっとなにか表示するくらいのコマンドなら自分も作れそうな気がする、と思ったけど、よくよく考えたらHello,Worldの延長なんや、ということに気づいたので作ってみました。

さすがにアニメーションはしないけど、Linuxのマスコット、タックスのテキストアートが5秒間表示されます。

もとのテキストアートはこちら

ASCII Art Linux - asciiart.eu

組込をやっていたので、C言語自体は大丈夫なんやけど、printとか使わんので文字列出力でえらい苦労した…

ほんとは日本語のアスキーアートにしたかったけど、文字化けの直し方がわからんかったので断念。

 

curses ライブラリ、というライブラリを使いますが、これの使い方も全然わからんかったので苦労しました。

gccでのライブラリを使ったビルドの仕方も知らなかったので。

ちなみに以下のような感じになります。

test.cというファイルをapptestというコマンド(オブジェクト)にビルドしたい場合です。

gcc -o apptest test.c -l curses

 

slコマンドのように、コマンド実行時に端末の表示を一旦全部消すっていうやり方が全然わからなくて、clear関数を試したりとか、かなり試行錯誤しました。

結果的には、cursesの描画関数(自分の場合はmvprintw() )を使えばいいだけでした。

 

パスを通せば、slコマンドみたいにどこでもコマンドを打つだけで表示されるようになりますが、それはまた別の記事でまとめるかな。

 

curses ライブラリについては、以下のサイト様を参考にさせていただきました。

Programming Essentials - curses library

curses

 

ということで、せっかくなのでコード全文です。

誰かのお役に立てれば。

#include <stdio.h>
#include <curses.h>	/* curses */
#include <unistd.h>	/* sleep */

/* 表示位置 */
#define DISP_ROW	2
#define DISP_CLM	5

/* テキストアート */
#define TEXTART_ROW	16
#define TEXTART_CLM	37

char textart[TEXTART_ROW][TEXTART_CLM] = {
{"         _nnnn_                      "},
{"        dGGGGMMb     ,.............. "},
{"       @p~qp~~qMb    | Linux Rules! |"},
{"       M|@||@) M|   _;..............'"},
{"       @,----.JM| -'                 "},
{"      JS^\\__/  qKL                   "},
{"     dZP        qKRb                 "},
{"    dZP          qKKb                "},
{"   fZP            SMMb               "},
{"   HZM            MMMM               "},
{"   FqM            MMMM               "},
{" __| \".        |\\dS\"qML              "},
{" |    `.       | `'\\Zq               "},
{"_)      \\.___.,|     .'              "},
{"\\____   )MMMMMM|   .'                "},
{"     `-'       `--' hjm              "}
};

/* メイン処理 */
int main(int argc, char *argv[])
{
	int i;

	initscr();	/* スクリーンを初期化する */
	curs_set(0);	/* カーソル非表示 */
	
	/* 端末の上から2行目、左から5文字目から描画 */
	for( i=0; i < TEXTART_ROW ; i++ ){
		mvprintw(DISP_ROW + i, DISP_CLM, "%.37s", textart[i] );
	}
	
	refresh();	/* リフレッシュして表示 */
	sleep(5);	/* 5秒まち */

	endwin();	/* cursesの終了処理 */
}

 

MX LinuxにはPythonがインストール済でした

前回、Pythonでちょっとしたツールを作りました。

【Python】画像サイズ一括変換ツール - パソコンオタクになりたい

 

せっかくなら、Linuxでも使いたいと思ったので、インストールから実行まで試してみました。

LinuxでのPythonのインストールですが、結果的には何もしなくても導入済みでした。

Pythonと打つと、Python3?って聞かれたので、Python3って打ったら、バージョンが表示されてインストール済であることが確認できました。

 

さっそく前回作ったコードをコピペしてpyファイルを作成する。

Python3コマンドで実行すると、Tkinterがない!ってエラーが出たので、以下コマンドでインストールする。

 

sudo apt-get install python3-tk

 

再度実行すると、フォルダ指定のダイアログが表示されました。

Windowsと違って新鮮。

 

念の為、フォルダを指定して最後まで実行できることを確認しました。

Windowsと同じコードで動くなんて、嬉しいですね。

 

【Python】画像サイズ一括変換ツール

子供が、カメラで写真を撮って、パラパラ漫画を作りました。

せっかくなので、動画にしようと奮闘。

その際、画像のサイズを横幅1280pxに変更する必要がありました。

オンラインでの変換ツールもあるけど、一度に変換できる枚数に制限があったり、ダウンロードするときにzipに圧縮されたりして、けっこう面倒でした。

たまにはツールを作ってみるか、と思い立ち、流行りのPythonで作れないか調べてみたら、簡単にできそうだったので作成。

こんなに簡単ならもっと早く作ればよかった!

せっかくなので、ソースコードとつまずいた点をシェアです。

ちなみにPython初心者、というか初めて触ったので、そんなの当たり前だよ!ってものばかりです。

 

PILを使うには、インストールが必要

画像を扱うライブラリ(?)のPILは、Pythonをインストールしただけでは使えないみたいです。

別途、コマンドでのインストールが必要です。

 

Image.resizeの使い方

めっちゃはまりました。

「TypeError: 'int' object is not iterable」っていうエラーが出て、小一時間調べました。

Image.resize関数は、Image.resize( ( ) ) と、カッコが2つ必要でした。

まぁ、ちゃんと使い方調べてなさいってだけですが。

引数は、横幅と縦幅だけだから、当然カッコは、1つでいいかと…

 

if文に:がいる

Pythonって、文末に;とかいらないので、なーもいらんのかなって思ってましたが、if文には:が必要でした。

 

ソースコード全文

ということでソースコード全文です。

こんな少ないコードで書けちゃうんですね。

もうちょっと勉強してみようかな。

 

# インポート
from tkinter import filedialog
import glob
import sys
import os
from PIL import Image

# フォルダ入力ダイアログ
dir = 'C:\\'
fld = filedialog.askdirectory(initialdir = dir) 

user_size = input("変換後の横幅をピクセルで指定してください。")

print("以下の設定で実施します。")
print("フォルダ:", fld)
print("サイズ:", user_size, "px")

# 最終確認
user_input = input("変換しますか? はい:y いいえ:n")
if user_input != 'y':
	sys.exit()

#指定されたフォルダ配下にresizeフォルダを作成
new_dir = fld + '/resize/'
os.mkdir(new_dir)

# 画像ファイル一覧を取得
files = glob.glob(fld +'/*.jpg' )

# サイズ変換
for file in files:
    print(file)
    img = Image.open(file)
    mag = int(user_size) / img.width    # 伸縮率
    img_resize = img.resize( (int(user_size), int(img.height * mag)) )
    img_resize.save(new_dir + os.path.basename(file) )