RSS

あるウェブページのアイコンが反映されないとき

ウェブサイトに favicon.ico というファイルを置いておくと、その画像(アイコン)がブラウザのタブなどに表示される。

しかし、場合によっては表示されないこともある。

これは、ブラウザの強力なキャッシュ設定が原因であることが多い。

よって、ブラウザの設定などでキャッシュをクリアしてページを再ロードすることで、アイコンを表示できることが多い。

しかし、そのような操作をせずに確実に、アイコンを表示することもできる。

キャッシュを強制的に破棄させる

次のようなタグを head タグの中に入れておくと、キャッシュが強制的に破棄されるので、キャッシュのクリアを手動で行う必要がない。

<link rel=”shortcut icon” href=”/favicon.ico?v=2″>

アイコンの場所を明示する

<link rel=”icon” href=”/favicon.ico” type=”image/x-icon”>

 
コメントする

投稿者: : 2026/09/27 投稿先 HTMLやCSS

 

タグ:

Thunarファイルマネージャにファイルのフルパス取得機能を追加するには

Xcfeのファイルマネージャ Thunar は標準ではファイルのフルパス取得機能は現在(2026)のところ備わっていない。

しかし、拡張機能を設定することで、フルパス取得機能を利用できる。

手順

  • sudo apt install xsel
  • ファイル ~/.config/Thunar/uca.xml をエディタで開く
  • 次の内容を最後に追加する。
<action>
  <icon>edit-copy</icon>
  <name>Copy Full Path</name>
  <command>echo -n %f | xsel -ib</command>
  <description>Copy full path of file to clipboard</description>
  <patterns>*</patterns>
  <directories/>
  <audio-files/>
  <image-files/>
  <text-files/>
  <video-files/>
  <other-files/>
</action>
  • Thunar を起動し直す。
  • ファイルを選択し、右クリックでコンテキストメニューを表示すると”Copy Full Path” メニューが追加されているはずである。

 
コメントする

投稿者: : 2026/09/26 投稿先 Linux

 

タグ: , ,

Node.js アプリを他のOSで動かすには

例えば、Windows で作った Node.js アプリを他のOS (Linux, macOS) にコピーして動作させる場合、単にコピーするだけでは動かない。

具体的には、node_modules の中身はバイナリーファイルが含まれているので、その新しい環境のものに置き換える必要がある。

具体的には、アプリフォルダに入り、次のコマンドを実行するだけでよい。

$ npm ci

あるいは

rm -rf node_modules
npm install

インストールが終わったら、npm start でアプリを起動する。

 
コメントする

投稿者: : 2026/09/23 投稿先 Node.js

 

タグ: ,

Windows11をLinux Mintにしてみた。

5年前くらいの Windows 10 が入っていた PC ですが、メモリが 8GB なので、ブラウザのタブをいくつも開いたり、アプリを色々立ち上げると動作が重くなり、最後はしばらく固まってしまうようになった。

これはもう限界だと思い、Windows11 を Linux に変更してみた。

変更した Linux は使い勝手が良いと評判の “Linux Mint” である。

Linux Mint の UI には、Cinnamon と Xfce があるが、軽量と言われる Xfce を選んだ。

ブート用USBメモリの準備

まず、Linux Mint のサイトからブート用の.iso ファイルをダウンロードする。(AMD64タイプ)

Rufus というフリーソフトを使って、中身が消えてもいい USB メモリにこの.iso ファイルを転送する。

PC への インストール

もう Windows 11 は使わないので、上書きしていまう。(オリジナルの Windows 10 のバックアップUSBメモリは残してあるが、サポート切れなのでもう使えない)

USBメモリをセットし、PC の電源を入れ、F2 キーをぽんぽんと叩いていると、BIOSセットアップ画面が出てくる。なお、BIOS セットアップ画面の出し方はメーカーやPCの世代によって異なる場合がある。

メニューの中から、Bootデバイスの選択サブメニューを選んで、先ほど作成したUSBメモリを選んで再起動する。

すると、USBメモリから Linux Mint が起動するが、この段階ではまだSSDにシステムが書き込まれていない。

画面左上にインストールアイコンがあるので、それを右クリックしてインストールメニューを実行すると、SSDへのインストールが開始される。

ユーザIDやパスワードなどの設定が途中にあるが、あまりむずかしいオプションはない。

SSDへの書き込みが終わったら、PCを再起動すると。Linux Mint が起動するはずである。

システムのアップデート

インストールされた Linux Mint は最新版でないので、以下のコマンドを実行してアップデートする。

sudo apt update
sudo apt upgrade

日本語環境の追加

デフォルトでは日本語入力ができないので、次のコマンドを実行して fcitx5 +mozc を入れる。

sudo apt install fcitx5 fcitx5-mozc fcitx5-config-qt

インストールが終わったら、メニューから fcitx5 を起動すると、アイコントレーにキーボードアイコンが表示される。

このアイコンを右クリックし、「設定」メニューを実行する。

右側ペインに ‘Mozc’ があるはずなので、これを選んで左側へ移動させる。(矢印ボタンで)

日本語のオンオフ設定

デフォルトでは「全角半角」キーまたはCtri+Spaceでオンオフが可能だが、使い勝手をよくするために「グローバルオプション」で設定を変更したり追加できる。

特に「ハングル」キーは存在しないので、削除や他のキーに置き換えるとよい。置き換えるときは、そのボタンをクリックして …. を表示し、切り替えのためのキーを押すとそのキーが割り当てられる。

ホームディレクトリのフォルダ名の変更

日本語環境の場合、ホームディレクトリのフォルダ名も日本語になるが、いちいち日本語を入力するのは面倒なので英語名にしたほうが便利である。

ターミナルを開いて、次のコマンドを実行すると設定ダイアログが開くので、フォルダを英語名に変更する。

LANG=C xdg-user-dirs-gtk-update

次回、起動したときもこのダイアログが開く場合は、英語名のままにして次回から表示しないオプションを設定して閉じる。

(注意)「デスクトップ」が何故か変更できなかった。

ネットワークの固定IPアドレス設定

デフォルトでは DHCP による可変IPアドレスになるが、これは他のPCからアクセスする場合、IPアドレスがわからないので不便である。

アイコントレーにあるネットワークアイコンを右クリックすると、編集メニューがあるのでそれをクリックすると、「ネットワーク接続」ダイアログが開く。

Ethernetの下の接続名を選んで、下の方にある歯車ボタンをクリックすると、編集画面が開くので、IPv4タブへ移動し、DHCPを手動にする。

アドレスを追加し、固定IPアドレスとネットマスク、ゲートウェイ、DNSサーバを入力して保存する。

ネットワークアイコンを右クリックし、「ネットワークを有効にする」メニューをクリックして一度ネットワークをオフにしてから、もう一度クリックしてオンにすることにより、ネットワークを再起動する。

ターミナルを開き、ip aコマンドでIPアドレスが変更されたことを確認する。

ターミナルの設定

ターミナルのウィンドウサイズが小さく使いづらいので、タスクバー左側の起動アイコンを右クリックし、「端末の設定」メニューを実行する。

この中の「外観」タブでウィンドウサイズの変更が可能である。4Kモニタで恥が小さく見づらいので、フォントサイズの変更もここで行える。

よく使うコマンドやサーバのインストール

vi コマンドは他の環境では vim のエイリアスで有ることが多いが、ここでは純粋な vi なので使い勝手が良くない。次のコマンドで vim をインストールするとよい。

sudo apt install vim

ソースインストールに使う gcc などのコマンドはデフォルトで入っていた。

他のPCから、このPCにログインしたりファイル転送する場合は SSH サーバをインストールする。

sudo apt install openssh-server

データベースを使う場合は、それらのインストールも行う。

sudo apt install sqlite3
sudo apt install mariadb-server

Python3を使う場合

Linux Mint は、Ubuntu をベースにしているので、Python3 を使う場合は注意が必要である。つまり、システムが使っている Python3 環境を壊さないようにするため、仮想環境 (venv) で Python3 を実行する。

そのためには、venv をインストールし、仮想環境をアクティベートしてから Python3 を使用する。

sudo apt install python3-venv
python3 -m venv .venv
source .venv/bin/activate

外付けHD

外付けHDがある場合、通常はマウントポイントを作成し、そこにデバイスをマウントする必要がある。(例) /mnt/hdd

ただし、Linux Mintの標準設定では、ファイルマネージャ (Thunar) で左側ペインの「デバイス」にHDのボリューム名があるはずなので、それをクリックするだけで、以下の場所に自動マウントされる。

/media/ユーザー名/ボリューム名

Windows アプリを使うには

wine をインストールすると、Windows アプリケーション (Win32) をインストールできる。実際にやってみたが、インストールに失敗したり、文字化けが起こったりするものが多かった。

sudo apt install wine

Windows アプリをインストールするには、そのアプリのインストーラ(setup.exe)をダウンロードして、wine コマンドで実行する。

wine setup.exe

Alpine Linux などを使うには

Docker などを使う方法もあるが、インストールや設定が面倒である。

その点、Podman を使うとかんたんに Alpine などを使うことができる。

sudo apt install podman

podman は docker コマンドに近い感覚で使える。

Alpine を使う場合は、次のようにする。

podman run -it --name alpine-test alpine

ここで alpine-test はコンテナ名で、省略した場合は、適当な名前が付けられる。

次回は、次のようにしてそのコンテナを使う。

podman start -ai alpine-test

コンテナ名を省略すると、新しいコンテナが起動のたびに作られる。それらのコンテナは、次のコマンドで表示できる。

podman ps -a

不要なコンテナは次のコマンドで削除する。

podman rm <name>

 
コメントする

投稿者: : 2026/09/21 投稿先 Linux

 

タグ: ,

C言語の strdup() 関数は POSIX 標準関数

strdup() 関数を使うと、次のようなエラーが出ることがある。

error: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]

これは、strdup() が純粋な C 標準関数ではなく POSIX 関数であるためである。

このエラーを避けるには、すべての #include の前に #define _POSIX_C_SOURCE 200809L を挿入するとよい。

#define _POSIX_C_SOURCE 200809L
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

 
コメントする

投稿者: : 2026/09/09 投稿先 C, gcc

 

タグ: ,

Windows でシンボリックリンクを作るには

Windows でもシンボリックリンクを作ることができる。これは mklink コマンドを使うことで可能である。

ただし、このコマンドは「管理者モード」で実行する必要がある。

mklink [[/d] | [/h] | [/j]] <link> <target>

link に 作成するシンボリック リンクの名前、target に 新しいシンボリック リンクが参照するパス (相対パスまたは絶対パス) を指定する。(Linux などの ln コマンドとパラメータの並びが異なる)

オプション

  • /d: ディレクトリ シンボリック リンクを作成
  • /h: シンボリック リンクの代わりにハード リンクを作成
  • /j: ディレクトリ ジャンクションを作成

ディレクトリのリンクを作る場合は、/d オプションが必要なので注意すること。下に例を示す。

PS C;\> mklink /d Ruby "C:\Program Files\Ruby-34-x64"

リンクの削除

リンクの削除は、del コマンドで行うことができる。ただし、管理者モードで実行する必要がある。

 
コメントする

投稿者: : 2026/09/09 投稿先 Windows

 

タグ: ,

gdb で毎回出るメッセージを消すには?

gdb でプログラムをデバッグしようとすると、毎回、次のようなメッセージが出る。

This GDB supports auto-downloading debuginfo from the following URLs:
https://debuginfod.ubuntu.com
Enable debuginfod for this session? (y or [n])

これは、glibc のようなライブラリの中まで詳しくデバッグするかどうかを問い合わせている。通常ならそこまで必要がないので、n を回答すればよい。

このメッセージを毎回、表示しないようにするには以下のようにする。

.bashrc / .zshrc に以下の行を追加する。

export DEBUGINFOD_URLS=""

あるいは、GDBの初期化ファイル ~/.gdbinit に以下の行を追加してもよい。

set debuginfod enabled off

 
コメントする

投稿者: : 2026/08/30 投稿先 Linux

 

タグ: ,

WSL2 で2つのLinuxを起動した場合、IPアドレスが同じになる!

WSL2で2つ以上のLinuxを起動した場合、それぞれのインスタンスに割り当てられるIPアドレスは同じになる。

例えば、それぞれのインスタンスでウェブサーバを運用する場合、IPアドレスが同じなので起動できない。

そのような場合、使用するポートを分ければ運用可能である。

 
コメントする

投稿者: : 2026/08/28 投稿先 Windows

 

タグ: ,

Linux: Ubuntu から派生したいろいろなフレーバー

Ubuntu 自身も Debian から派生しているが、Ubuntu からさらに派生したフレーバーがたくさんある。

Kubuntu

デスクトップは KDE Plasma で、Windowsに似た操作感と、グラフィカルな画面の圧倒的なカスタマイズ性が特徴。高機能で美しく、現代的な見た目である。

Xubuntu

デスクトップは Xfce で、動作の軽さと安定性のバランスが優れており、古いPCやスペックの低い環境でも軽快に動作する。

Lubuntu

デスクトップは LXQt で、フレーバーの中で最も軽量。メモリ消費量が非常に少なく、超省スペック環境や超軽量動作を求める場合に最適。

Ubuntu MATE

デスクトップは MATE で、かつての「Ubuntu 10.04」時代の伝統的でシンプルな操作感を現代向けに引き継いでいる、軽快なOS。

Ubuntu Budgie

デスクトップは Budgie で、macOSのような洗練されたデザインとモダンなUIを組み合わせた、視覚的におしゃれなフレーバー。

Ubuntu Cinnamon

デスクトップは Cinnamon で、Windows 7/10的な使いやすいタスクバー配置を採用した、初心者にも扱いやすいフレーバー。

Ubuntu Unity

デスクトップは Unity で、かつてUbuntu本家が標準採用していた「Unity」デスクトップ環境を有志が維持・復活させたフレーバー。

 
コメントする

投稿者: : 2026/08/25 投稿先 Linux

 

タグ: ,

Linux ディストリビューション(派生版を除く)一覧

Debian

圧倒的な安定性とフリーソフトウェア精神を重視する巨大コミュニティ主導のOS。パッケージ管理にはapt(.deb)を採用。
Ubuntu, Linux Mint など人気ディストリビューションは Debian から派生している。
デスクトップでもサーバでも向いている。

Red Hat Enterprise Linux (RHEL)

企業向けLinuxの標準。Red Hat社が手掛ける商用版(RHEL)と、最新技術を検証するコミュニティ版(Fedora)が存在。パッケージ管理はdnf(.rpm)。
企業用サーバー、インフラ基盤で圧倒的なシェア。

Arch Linux

Simplicity(簡潔さ)」を掲げ、最小限のシステムからユーザーが手動で組み上げていくローリング・リリース型OS。パッケージ管理はpacman。
自作派デスクトップ、最新環境の構築。

Slackware

993年誕生の現存する最古のLinuxディストリビューション。自動依存関係解決を持たない非常にシンプルな設計で、Unix本来のスタイルを保持。
Alpine 程ではないが、500MB のメモリで動作する。

Gentoo Linux

ソースコードからローカル環境でコンパイルしてインストールする超高カスタム系OS。パッケージ管理(Portage)はBSDのPortsシステムに類似。

Alpine Linux

musl libcとbusyboxをベースにした超軽量・安全設計のOS。サイズが非常に小さいため、現代のDockerコンテナの標準ベースイメージとして広く普及。
コンテナ環境、組み込み。非常に軽量なので、130MB くらいのメモリがあれば動作する。
ただし、デスクトップ版はないので注意。

NixOS

独自の関数型言語「Nix」を用いて、システム全体の構成をコードで管理(宣言型設定)する新世代OS。再現性とロールバックが容易。

Void Linux

の多くのディストリビューションが採用するsystemdを使わず、独自のrunitとxbpsパッケージマネージャーを採用してゼロから作られた独立系OS。
軽量・高速なデスクトップ環境。

SUSE Linux Enterprise / openSUSE

欧州を中心に強力なシェアを持つ商用・コミュニティ系OS。設定ツール「YaST」や高い堅牢性を備える。パッケージ管理はzypper(.rpm)。

 
コメントする

投稿者: : 2026/08/25 投稿先 Linux

 

タグ:

 
WordPress.com で次のようなサイトをデザイン
始めてみよう