ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

LinuxコミュのLinuxを快適にするコツ

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Linuxの魅力の一つにカスタマイズのしやすさがあります。
ある人の常識は他人にとってスゴい裏ワザだったりすることもしばしば。
それに日々進化をとげるLinuxはそうしたトリックがすぐに現れては廃れることもしばしば。

このスレッドでLinuxを快適にするコツについてみなさんとお話できればと思います。

コメント(80)

素人でも楽しめるのが良いところだよね。
主が喧嘩好きを公言してれば喧嘩好きのヤンキーが集まるのは当然だけどね。
スルースキルもネットを快適に使うコツだよね。
まあ、どうでもええねんけど
ひまなんで、らくがきしたるわ、あほたれども

>アメリカの玄人コンピュータおたくにでもなったつもりで悪態つく人

こいつおのれを何様と勘違いしとるんやろね(笑

で、そんな基地外の落書きの、なんかみるべきとこ、てどこや、どのへんや(笑
なんやその宗教がほんだらかんたらて
まともな宗教家は、自分を誇大誇示するような基地外コメントはしない

    なにが宗教じゃ、あほたれども

おまえらのはせいぜい基地外カルトってとこやろ

地下鉄にサリン撒いたオーム真理教ってあったやろ、サリン事件当時のことやけど、電気街でパソコン関連のショップを運営してスダーラコーダラほざいてたわな

ぱそこん、なんてのは基地外カルトに操られるまぬけゾンビどもでもいじれるんや
フリーなやつはだれでも気軽にただで使えるんや、まぬけ
ひまつぶしのおもちゃとしてはやな

スマフォ(っぽい)自作ボードで中国製のPine64(A64 クアッドコアSoC)てのがあって
この小さなボード1枚だけで性能的には古いパソコンを凌ぐほど

   びっくりするくらい安い

    15$(512M DRAM)
    19$(1G DRAM)
    29$(2G DRAM)

こどもがおったら、これで遊ばせてコンピュータの基礎を教えたらええと思うわ
まあラズベリーパイの対抗品やけれど先日アマゾンで売り切れ入荷予定なしやったんで中国の工場から個人輸入してみた
これをいじるのは

   Linux

かAndoroidやわな
Windows10 IotではPine64のβ版のOSイメージがあったけれど、どの程度使えるかはまだよくわからない

こんなんをLinuxでバンバン使いこなせるんやったら
タイムリーな話題なんやし
参考になりそうなことをらく書きしなさいよ

まあ、無理なんやろけど笑
mixi で『Linuxを快適にするコツ』トピを立てたら、「地下鉄サリン事件」の話を急にされたでござるの巻

ドン引きしたのは私だけではないと思いますが、Linux コミュにこの手の方々が多いのは、ここが「個人の趣味」から「会社のプロジェクト」まで手広くカバーしているからだと思います。一方、"Red Hat や "Solaris"、はたまた "Windows Server" みたいに業者向けで、そのコミュに入っている = その業者の方といったコミュは、もっと落ち着いています。

サリンの方々は「Linux を楽しみながら一生懸命スキルを上げで自己満足できる水準にまで持っていったものの、プロのレベルには達しておらず、それで就職に結びつけることができず、不安や貧困でヤケクソになった人たち」なのかと推理します。「玄人ぶっていれば玄人だと思われる」なんて、私みたいに Linux でメシ食ってる人が見ればすぐにバレて痛いだけですから。だから就活うまくいってないということにいい加減気づいて下さい。

ここにいる皆さんも、くれぐれも Linux ユーザーに幻滅などなさらず、そして人生にヤケクソにならず、普通に Linux の話題で楽しみましょう。これから Linux をキャリアに結びつけようとしている学生や遅咲きのオッサン・オバサンも、応援しますから。

>>[43]
> スルースキルもネットを快適に使うコツだよね。

最初腑に落ちなかったけど、サリンの話をいきなりされたあと、なんか納得しました。。。
はじめまして、医療系システムで7年間ubuntuを触ってまして、初心者向けの動画をアップしてます。

linuxOS(youtube再生リスト)
https://www.youtube.com/playlist?list=PLaBoLsR6xHwMr2sq15PPvxSBUbUCJHzKM
>>[53]

快適の定義が「トラブルが少ない」、「今日は昨日と同じようでいてほしい」でしたら LTS とかアリでしょうね。

そういう選択肢がきちんと与えられているのが Linux や Windows の良いところだと思います。Mac はどうだろう?
tmux について補足。

tmux のデフォルト設定はよく出来ていないため ("one size fits none")、自分で少しはカスタマイズする必要があります。

tmux コマンドを入力できるようにするために prefix を押す必要があるのですが、その際に Control + b で召喚するという理解に苦しむデフォルト設定がなされています。Bash/Z shell をデフォルトの Emacs バインディングで使っている方には干渉するためあまりにも不便です。そのため、Control + q、Alt + q、人によっては F12 なんかに割り当てている人もいます*。

* tmux ユーザーには GNU Screen のデフォルトである Control + a に prefix を割り当てている人が多いが、Emacs バインディングでシェル操作などしている場合には「冒頭にカーソールを移す」と干渉するのでおすすめしない。ただし「Emacs を(デフォルトのキーバインディングで)使わない」、「シェルは vi モードにしている」といった場合には、tmux/GNU Screen の prefix を Control + a にしても不便ないと思う。

さて tmux の欠点にデフォルトでは Prefix を押したかどうかが見てわからないといった問題があります。とりわけ tmux を二重(Windows Cygwin の tmux の中に Linux SSH の tmux、みたいな)で使っている場合や、tmux の中で vim のようなモードによってはキー一つでコマンド入力ができてしまうアプリを使っている場合には、その tmux の prefix が押されたかどうかを目で見て確認できないのは不便です。

そこで "Tmux Plugin Manager (TPM)"、その上に "Tmux Prefix Highlight" を導入することをおすすめします。 以下のページに記載されているとおり、導入はとてもかんたんです。

Tmux Plugin Manager: tmux のプラグインを ~/.tmux.conf 等で追加・削除できる。
https://github.com/tmux-plugins/tpm

Tmux Prefix Highlight: tmux で prefix を押した際にステータスラインに表示する。TPM が必要。
https://github.com/tmux-plugins/tmux-prefix-highlight
今頃知ったんですけど

【同じディレクトリにファイルをコピーする方法】

# cp /foo/test.c{,.bak}
# ls /foo/test.c*
/foo/test.c /foo/test.c.bak
#

私同様、衝撃を受けた方はハートイイネ!押して下さい・・・w
>>[53] 

遅レスで恐れ入りますが、これは今にして、更に納得。業務用や市販の Linux アプリが Ubuntu LTS しか対応してないこともあるんですね。昨日なんて Ubuntu 17.10 を入れてから試験したいアプリが対応していないことに気づき、泣く泣く16.04 LTS に入れ直しました。・゚・(ノ∀`)・゚・。

LTS は新しいもの好きの逆を行く、「ひねくれ者向け」という印象がぼくにはあったけど、実際に 16.04.3 LTS を使ってみて案外悪くないね。2年近く前にリリースとはいえ、2021年までサポートなら安心です。

カーネルは Ryzen が 4.4.10 以降対応らしいので、14.04.5 LTS (4.4.x) は気をつけたほうがいいです。

あと Docker なんかで Ubuntu イメージを「使い捨て」する場合には LTS 使い続けると楽かも。
■ なるべくコマンドラインで操作する

Linux/UNIX の魅力にコマンドラインによる操作が強い点が挙げられます。かつて Mac がそれを葬り、Windows でもおろそかにしていたのですが、その後 Mac は OS X (2001) として UNIX/Bash を採用、Windows では PowerShell (2006) を導入するといったように、コマンドライン操作の重要性が復活したと言えます。最近出たコマンドライン ツールに Hashi Corp Terraform (2013)、AWS CLI (2014) なんかが挙げられます。コマンドラインはかつて考えられたように決して古いものではありません。

コマンドライン操作の魅力に次の点が挙げらます。

【利点1】 バッチ処理のように、あとで自動化しやすい。
 → マウス同じところを10往復した時点で、もはや人間がする作業ではなくなります。
【利点2】 操作した内容を記録できる。後で読み直すことができる。
【利点3】 他人に見せることができる。
【利点4】 GUIのない環境でも操作できる。
 → 2018年現在、数千個の仮想化コンテナーをいちいち GUI 画面で扱えられると思いますか??


私は Linux に対応した製品のサポートやコンサルティングをしていますが、【利点2】と【利点3】はとりわけ重要です。


■■ # コメントを入れて、テキストファイルに保存して、読み返す

シェルのようにコマンドライン操作をする際には、# コメントを入れることをおすすめします。

nate@ubuntu$ ssh cate@192.168.122.206
...
[cate@localhost ~]$ # got this IP address from VNC:0.0.0.0
[cate@localhost ~]$ # and I believe it is the cloned image..
[cate@localhost ~]$ echo "it's a clone" > cateMemo4clone.txt
[cate@localhost ~]$ # I end this SSH session without shutting this clone img down
[cate@localhost ~]$ exit
logout
Connection to 192.168.122.206 closed.

nate@ubuntu:~$ sudo virsh list
Id Name State
----------------------------------------------------
7 cateCentos1708 running
8 oateCentos1708 running

nate@ubuntu:~$ ssh oate@192.168.122.55
...
[oate@localhost ~]$ # I believe I have logged into the original img
[oate@localhost ~]$ cat ./cateMemo4clone.txt
cat: ./cateMemo4clone.txt: No such file or directory
[oate@localhost ~]$ # there we go!

みたいなかんじです。そして、不要な部分は取り除き、重要なところだけ切り抜いて、テキストファイルに保存することをおすすめします。

仕事のとき、顧客や同僚らに作業内容を共有する場合はもちろん、自分で新しい技術を勉強するときに、あとで読み返して復習するのに、この一手間が重宝します。
■ 秀逸なビデオ。Linux だけでなく、FreeBSD や Cygwin、MYSYS2 のような UNIX 環境全般で使えます。Bash でも Zsh でもできるようです。



【スゴ技 2.1】Ctrl + k で「カーソールより後ろを切り取り」した文字列は、Ctrl + y でペーストできる (1:53)

Bash のようなシェル言語で操作している場合、パイプ (|) でダラダラつなげることが多いものですが、あまりにも長すぎる場合にはコマンドを分けることがあるものです。そんなときにこのスゴ技が重宝します。

Ctrl + u は「カーソールより前を切り取り」となる。

とりわけいまのご時世、Emacs をガチで使ったことのない UNIX ユーザーがいてもおかしくないので…。


【スゴ技 2.2】 Ctrl + w で単語単位で削除することができる

ちなみに英語みたいなスペースで区切る言語の場合には普通、ctrl + backspace で単語単位で削除できます。


【スゴ技 3】 常に書き加えられるログの末尾を常時監視するには tail -f ではなく less +F がよい

これなら less で末尾の更新を常時監視できるだけでなく、Ctrl + c で停止して上にスクロールできたり全文検索できたりできる利点がある。再び +F に切り替えるには Shift + f でできる。

大きいファイルの場合には、少し重くなる。
※ LXDEコミュ管理人 注 「この場合、less はファイルの全文をメモリバッファに書き込む (4:51)」とあるが、それは事実誤認の疑いあり。とはいえ確かに極端に大きなテキストを less で開くと、起動やスクロールに少し時間がかかる。


【スゴ技 4】 Ctrl + x, Ctrl + e で、bash コマンドを $EDITOR で編集できる

bash で for ループを使うような、長くて複雑なコマンドになった場合に、vim のようなエディターで編集できると、行をまたいで編集できたりしてずっとラクになる。

なお、.bashrc や .zshrc で EDITOR=vim; export EDITOR なんかでデフォルトのエディターを指定することができる。


【スゴ技 5】 Alt + . で前のコマンドの引数を召喚できる。

$ vim /home/nathan/very/long/file/path/helloWorld.c

と打ったあと、

Alt + . で /home/nathan/very/long/file/path/helloWorld.c の部分のみ呼び出すことができる。この場合、[↑] なんかと違って冒頭の "vim" は呼び出されないので、Ctrl + a でスムーズに次のコマンドを打ち始めることができる。


いいビデオでしたね。気に入った方は感謝を込めてチャンネル登録してあげてください。


※ LXDE コミュ管理者 注
【スゴ技 1】 にある
$ vim /var/log/syslog.log
$ sudo !!
みたいなのはスゴくないので省略しました。 !! で前のコマンドを呼び出すと history に記録されないし Ctrl + r で再利用できないので不便。

【スゴ技 おまけ】 LXDE コミュ管理人より。
コマンドの冒頭に " "(スペース)を入れると history に記録されない。
残したくない・再利用する必要のないコマンドを打つ際にどうぞ。
「白黒テレビでゴレンジャー見るぐらい悲しいわ。」
                       ――松本人志

■ High DPI 大画面ディスプレイを使う

先週1920x1200@24インチTN液晶ディスプレイが10年目にして逝ったので、4K@27インチ HDR IPS (https://www.lg.com/jp/monitor/lg-27UK850-W) に買い替えました。

在宅勤務のITコンサルタントである私は Windows 10 で Microsoft Office と ターミナル上で Linux(SSHによる遠隔サーバーの操作 と Bash for Windows)を主に使用しているのですが、Office はもちろん、思いのほか、ターミナルウィンドウも文字がズバ抜けて綺麗で衝撃を受けました。これまではターミナルのフォントサイズが小さすぎると文字が潰れて読みにくくなったりして、そのためフォントサイズの微調整に神経使っていたものですが、いまは小さな文字でもくっきり表示してくれるので助かります。

それから最近の HDR に対応した液晶は輝度(画面の明るさ)ばかり話題になりますが、そのコントラストを引き立てるために黒もより深くなっていることが仕事にはもっと重要になります。そのため輝度を下げても黒が深いのでコントラストが保たれていて文字が読みやすく、結果、目に優しい印象を受けます。

ちなみに私が今の所確認した High DPI にきちんと対応したデスクトップ環境は、Windows 10、Windows Server 2016、そして Ubuntu 16.04 (Unity) です。いつも使っている Ubuntu もより洗練して見えて感激しました。一方、Windows 7 は High DPI には向いていないようでした。

少し Linux の話から脱線しますが、それでも現役 Linux エンジニアとして Linux を快適に使うコツとして紹介します。お試しあれ、いや、ほんとまじ、快適だから。
>>[29]

4年遅れの返答で恐縮ですが、ZRAMはもっと評価されるべき
特に FreeBSD みたいな非 Linux 環境で

Swap 使えないと Kubernetes はリソースバカ食いするんで
ZRAM で本当に Kubernetes 使えるか
少なくとも production 環境ではまだやる勇気ねえっす
お客様のサーバーメンテ中にダウンタイムを伸ばしてしまうという失敗をしてしまいました。「できる、できない」だけでなく、「いかに効率よく作業するか」みたいなノウハウは重要です。

SCP、正確には Linux だけでなく FreeBSD みたいな各種 UNIX 系にも当てはまることですが、まあ。


「SCP でファイルを多数移す場合、ファイル数を減らすようアーカイブすべき」

1000くらいの小さなファイルを2つのマシン間でコピーする際、アーカイブしないとおぞましく時間がかかる。一方、ZIP (片方が Windows、または両社とも zip コマンドを有している場合)か.tar.gz(両者とも UNIX の場合)なんかで大きなアーカイブファイルにしてから送るとずっと速い。


理由知ってる人いたら教えて。
>>[68]
やり取りするときのSCPでの内部暗号化が1ファイルか複数ファイルかで何回も何回も暗号化することになるからその分のオーバーヘッドで食ってるんでしょうね。
>>[69]

SCP だと SSH なので暗号化も確認?(data verification)も 32KB パケット単位ですよねえ?それでオーバーヘッドが顕著になります?
>>[70]
ファイル以外の通信経路自体に対する暗号化×999分の差かな(IPSecのトンネルモードのイメージ)、とは思ったんですが。でも、実際遅いんですよねえ。昔やったらたしかにおそかった
>>[71]

ぼくも調べてみます。1個だろうと1000個だろうと、単純にパケットで割ってドバドバ流しているイメージでした。ぼくこの手についてもっと勉強したいんですね。

影武者さんどうもありがとうございます指でOK
今ごろ知ったんですけど

$ sudo systemctl enable kubelet && sudo systemctl start kubelet
$ sudo systemctl disable kubelet && sudo systemctl stop kubelet

みたいなの、

$ sudo systemctl enable --now kubelet
$ sudo systemctl disable --now kubelet

でできるんですね。みんな知ってた?

$ man systemctl
...
--now When used with enable, the units will also be started. When used with disable or mask, the units will also be stopped. The start or stop operation is only carried out when the respective enable or disable operation has been successful.
シェルでディレクトリ名のみ一覧表示する方法

$ echo */

これだと ls みたいに横にずらーっとディレクトリ名が羅列されてしまうので、1列に表示したい場合には

$ ls -d1 */

みんな知ってた?漏れUNIX/Linux長いけど今知った。
一つのファイルを複数コピーできる

$ ls
foo.txt

$ parallel cp -v foo.txt ::: foo1.txt foo2.txt foo3.txt
'foo.txt' -> 'foo1.txt'
'foo.txt' -> 'foo2.txt'
'foo.txt' -> 'foo3.txt'

$ md5sum *
d6b29fc355b6ab0f9f4bb9d4e03e9304 foo1.txt
d6b29fc355b6ab0f9f4bb9d4e03e9304 foo2.txt
d6b29fc355b6ab0f9f4bb9d4e03e9304 foo3.txt
d6b29fc355b6ab0f9f4bb9d4e03e9304 foo.txt

当たり前だけど cp の -v とか md5sum とか省いていい

衝撃受けたわ
「コマンドの前にスペース入れて history に記録を残さないようにする」

前の大発見の関連。これは Linux エンジニア名乗るなら知っててほしいかな

.bashrc とかに "export HISTCONTROL=ignorespace" を加えて読み込むと、シェルで冒頭にスペース入れたコマンドは history に記録されない

$ cp foo.txt foo-mod.txt

$ vim foo-mod.txt

てかんじで前者のファイルからコピーしたのを編集したとする

このとき間違えて Ctrl + r なんかで "cp foo.txt foo-mod.txt" を history から再召喚して実行すると、その編集が秒でオジャンになるのよ

そこで

$ ■cp foo.txt foo-mod.txt

※■はスペース

ってやって、history に書き込まれないようにする。こうすればコマンド再召喚で誤爆することはない。

人によるんだろうけど、漏れは頻繁に作業するUNIXシェル環境にはたいてい ignorespace を施して、cp, mv, rm みたいに他のファイルを破壊しかねないコマンドには特に理由がなければ冒頭にスペースいれる

ただこれやると前に書いた「一つのファイルを一括で複数コピーすることができる」ってやつ、似たような cp コマンドを Ctrl + p なんかで再召喚できないから、ファイル10個とかコピーするのに tmux で最初のコマンドの一部 (■cp foo.txt■) だけコピーしてからペーストして、みたいなかんじでめんどかった

$ ■foo.txt■foo1.txt
$ ■foo.txt■
> ■foo.txt■foo2.txt
$ ■foo.txt■
> ■foo.txt■foo3.txt

より

$ ■parallel cp foo.txt ::: foo1.txt foo2.txt foo3.txt

のほうが楽かなって話
Linux に限らないけど、時短って意味で。

「データを完全削除したい場合、ディスクごと破棄するのであれば、電動ドリルが一番簡単」

私自身、ストレージやデータセキュリティを専門としているのですが、ファイルやボリューム単位でデータを完全削除するには、まあ dd や erase、Windows だったら cipher.exe なんて使うと思います。会社のPCを返却するときなんかはそうした方がいいでしょう。

ところがディスクまるごと破棄するといった場合、特にリサイクルしたり、自治体から指定でもされていないのであれば、電動ドリルが一番早いです。工具さえあれば1分で穴開けて物理破壊できます。2.5" SSD だと穴開けるのが大変かもしれない。

NVMeやフラッシュメモリだったらニッパーがいいかも。
「シェルでコマンドを忘れた場合、apropos コマンドで man 項目を逆引きできる」

例えばファイアウォールの設定をするコマンド名をド忘れしたとします。こんなとき、

$ apropos firewall

とか入力すると

firewall-cmd (1) - firewalld command line client
firewall-offline-cmd (1) - firewalld offline command line client
firewalld (1) - Dynamic Firewall Manager
...

みたいに man 文書に "firewall" という単語が含まれるコマンド名とその説明を一覧表示してくれます。

ちなみに apropos コマンドの引数 (argument) はデフォルトが正規表現 (regex) かつ大文字・小文字不問です。ワイルドカード (-w) や AND 検索 (-a) もできます。
「top コマンド使用中に 1 を押すと、各コアごとのCPU使用率を確認できる」

例えば4コアの Linux マシンを使用していて、処理が追いつけないとする。こんなとき、4コアとも稼働率 100% になっていることもあれば、1つのコアが 100% になってて、そのシングルスレッドが足を引っ張っていることもある。

top 画面の右上にも表示される loadavg なんかだと、「4コアのうち 2」とか言われても、全コアで50% 稼働している 0.5 0.5 0.5 0.5 なのか、1つのコアに処理がシングルスレッド性能の倍の処理がかけられている 2.0 0.0 0.0 0.0 なのかがわからない。

こういうときは、top を起動した画面で 1 を押すと、各コアごとの CPU 使用率を確認することができる。

みんな知ってた?漏れ Linux 長いけど、さっきチャット AI (Microsoft Copilot) に質問してはじめて知って、びっくりしたよ!!
「コマンドラインで使うプログラムに Flatpak は使わない」

Linux でアプリをインストールする方法は色々ある。最近では Flatpak が流行りのようで、Google Chrome や Vim のような人気アプリも、開発元なんかが Flathub で最新版を公開しているようだ。確かに Flatpak、コマンドラインで使える "flatpak" も割と使いやすいし、サンドボックス化してシステムにアプリを直接インストールしない分、移植性も高いし(例えば Ubuntu でも Red Hat でも同じアプリを導入できる)、システムをいじらないだけ安全だ。

ところが(もしかするとぼくの使い方が間違ってるんか知らないけど)Flatpak でインストールしたアプリはコマンドラインで使いづらい。例えば Vim を入れると、vim コマンドではなく、"flatpak run org.vim.Vim" であるため、--clean みたいなフラグやオプションをコマンドラインで指定することができないから厄介だ。

漏れの知ってる限りでは

- Vim: Ubuntu とか Red Hat とか、使ってる distro が提供しているパッケージが古いなら、おソースから入れるのが一番。方法は公式ページに書いてある。Deb はどこのレポジトリーも古すぎ、Flatpak は最悪。なお、今現在、Arch Linux、Slackware、あと FreeBSD (!) なんかは最新版のパッケージを提供しているみたい。

- Google Chrome: 公式サイトから Deb か Rpm をダウンロードして入れてあげよう。Ubuntu 系で Google Chrome の Deb をインストールすると、自動的に apt のレポジトリーに加えてくれるので、更新や削除も便利なのが嬉しい。また、Deb でインストールすると Google Chrome の意外と便利なコマンドラインツールである google-chrome コマンドが使える。それができない Flatpak 版 は Google 公式といえおすすめしない。

とりわけ Google Chrome は色んな事情で Linux のシステム言語にアメリカ英語以外を使っている場合、google-chrome --lang="en_us" & みたいなコマンド使ってアメリカ英語版で立ち上げないと Experimental AI みたいな機能が使えなかったりする。

- LibreOffice: そもそも Linux をガチ デスクトップ環境で使っている人少ないだろうけど、漏れは LibreOffice 公式ページから最新の Deb をダウンロードして、指示通り dpkg -i *.deb みたいなかんじで入れたり更新してる。

もっと効率いい方法知ってる人いたら教えて。

ログインすると、残り52件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Linux 更新情報

Linuxのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。