2024年12月24日 Ubuntu Desktop 22.04 LTS ノウハウ NASにある Excelファイル を起動する 「ショートカットアイコン」の作り方
Ubuntu PC と Windows PC を併用している場合、NASを介してファイル共有を行うと「ファイルの一元化」が図れ何かと便利である。中でも、Windows PC で作成した Microsoft Office のファイルが Ubuntu PC の WPS Office で扱えれば相互運用性と利便性が飛躍的に高まる。
以下、Ubuntuのデスクトップに、NASにある Excelファイルを WPS の Spreadsheets で起動する「ショートカットアイコン」を作った記録。
参考:
1. デスクトップに「ショートカットアイコン」を作るには
テキストエディタ「nano」で、デスクトップに「~/Desktop/xxxxx.desktop」を作成する。
nano ~/Desktop/xxxxx.desktop
「xxxxx.desktop 」ファイルを「デスクトップエントリ」と言う。
「デスクトップエントリ」の例。
[Desktop Entry]
Version=1.0
Type=Application
Name=ショートカットアイコン名
Exec=アイコンをクリックしたときに実行されるコマンドを指定
Icon=アイコンを指定
Terminal=false
Name :デスクトップのアイコンに設定される名前。 アイコンに付けられる名前は、テキストエディタで作成した「~/Desktop/xxxxx.desktop」の「xxxxx」ではなく、ここで指定した名前になる。
Exec :WPS Office の WPS Spreadsheet を指定した例。 Exec=et "/絶対パス/ファイル名.xlsx"
Icon :WPS Office の xls アイコンを指定した例。 Icon=/usr/share/icons/hicolor/256x256/mimetypes/wps-office-xls.png
2. Exec= で指定するコマンドについて
WPS Office のコマンド例:
Exec=wps /path/to/your/file.docx
wps に続けて対象ファイルのフルパスを指定する。 wps は、WPS Office の一部であり、通常は WPS Writer(Microsoft Word に相当するアプリケーション)を起動するためのコマンド。
コマンド 説明 wps WPS Writer(文書作成ソフト) et WPS Spreadsheet(表計算ソフト) wpp WPS Presentation(プレゼンテーションソフト)
LibreOffice のコマンド例:
Exec=libreoffice --calc /path/to/your/spreadsheet.ods
コマンド 説明 libreoffice LibreOffice スイート全体の起動 libreoffice --writer Writer(文書作成ソフト)の起動 libreoffice --calc Calc(表計算ソフト)の起動 libreoffice --impress Impress(プレゼンテーション)の起動 libreoffice --draw Draw(図形描画ソフト)の起動 libreoffice --base Base(データベースソフト)の起動 libreoffice --math Math(数式作成ソフト)の起動
フォルダーを開くコマンドの例:
Exec=nautilus /path/to/folder または、 Exec=gio open /path/to/folder
Nautilusは、GNOME デスクトップ環境の標準ファイルマネージャー。 gioは、GNOME のコマンドラインツール。
違いの比較。
3. フォルダーやファイルへのパスについて
Excelファイルへのパスは、事前に端末で起動スクリプトを実行し、該当の Excelファイル が問題なく開けることを確認しておくと良い。
libreoffice で開く起動スクリプト。
libreoffice /絶対パス/ファイル名.xlsx
WPS Office で開く起動スクリプト。
wps /絶対パス/ファイル名.xlsx
WPS Office で開く例。(パス上のフォルダー名やファイル名に空白がある場合、パス全体をダブルクォートで囲む。)
wps "/run/user/1000/gvfs/smb-share:server=<NASサーバー名>.local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
開きたいファイルへのパスを調べるためには、起動したい Excelファイル があるフォルダーを開き、右クリックで表示されるメニューから「端末で開く」を選択し、端末の「pwd」コマンドでカレントディレクトリを表示する。
カレントディレクトリが絶対パスで表示されるので、これをコピーし、後ろに Excelのファイル名 を追記するとパスが完成する。
"/run/user/1000/gvfs /smb-share:server=<NASサーバー名>.local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx "
gvfsとは: ・GNOME Virtual File System (GVFS) は、GNOME デスクトップ環境で提供される仮想ファイルシステムです。 ・ローカルファイルシステムとは異なるリソース(例えば、ネットワーク共有、クラウドストレージ、FTP サーバーなど)にファイルマネージャ(例: Nautilus)がアクセスできるようにします。 ・パスの形式:/run/user/UID/gvfs/...
/run/user/1000/gvfs/... のパスは ● GVFS によって動的に生成される仮想パスであるため、NAS がマウントされていないとショートカットで指定したパスが無効になる。 ● /run/user/1000/gvfs/... パスは、ファイルマネージャ(例: Nautilus)が NAS に初めてアクセスした際に生成される。 ● 再起動後、NAS の共有フォルダに一度でも手動でアクセスしないと、このパスは生成されない。
上記の理由で、「gvfsのパス 」で作成したショートカットは、Ubuntuの稼働が継続中 であれば動作するが、一旦、Ubuntu を再起動するとショートカットアイコンでは開けなくなる。
「Not a valid file.」というエラーメッセージで開けない。
解決策:NASを自動マウントする ● /etc/fstab の記述で、再起動時に NAS の共有フォルダを CIFS で自動的にマウントする設定を行い、 ● ショートカットの Exec を、ローカルのパス(/mnt/nas) を利用するように変更する。
Before:
Exec=wps "/run/user/1000/gvfs/smb-share:server=<NASサーバー名 > .local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
After:
Exec=wps "/mnt/nas/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
※: パス上のフォルダー名やファイル名に空白がある場合、パス全体をダブルクォートで囲む。
Exec=wps "/run/user/1000/gvfs/smb-share:server=<NASサーバー名 > .local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
Exec=nautilus "smb://.local/home/10 Webサイト資料/13 IP107-Arakoki70資料"
特殊文字の扱い Exec
行内では、ダブルクォートで囲むことで空白や特殊文字(日本語や記号)を安全に扱えます。これにより、空白を含むパスも問題なく解釈されます。
4. 絶対パス(gvfs)での「デスクトップエントリ」作成例
起動したい Excelファイル があるフォルダーを開き、右クリックで表示されるメニューから「端末で開く」を選択する。
端末が開くので「pwd」と入力すると、カレントディレクトリが絶対パスで表示されるので、これをコピーする。
コピーした例。
/run/user/1000/gvfs/smb-share:server=<NASサーバー名>.local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole
絶対パスの後ろに Excelのファイル名 を追記 して、起動スクリプトをチェックする。
wps "/run/user/1000/gvfs/smb-share:server=<NASサーバー名>.local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
デスクトップショートカットファイル作成例。
nano ~/Desktop/日別アクセス回数記録.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=日別 アクセス回数記録
Exec=wps "/run/user/1000/gvfs/smb-share:server=<NASサーバー名 > .local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
Icon=/usr/share/icons/hicolor/256x256/mimetypes/wps-office-xls.png
Terminal=false
デスクトップにショートカットが作成されるので、右クリックして「起動を許可する」。
デスクトップに作成されたショートカットアイコンをダブルクリックして、NAS上の Excel ファイルが WPS Office で開くことを確認する。
この「gvfsのパス 」で作成したショートカットは、Ubuntuの稼働が継続中 であれば動作するが、一旦、Ubuntu を再起動するとこのショートカットアイコンでは開けなくなる。
5. NASの自動マウント要領
①.cifs-utils パッケージをインストールする
CIFS (Common Internet File System) は、 ネットワークを介してファイルやプリンターを共有するためのプロトコルの一つです。Microsoft によって開発され、SMB(Server Message Block)プロトコルの一部または派生形と見なされています。
CIFS を使用するには、cifs-utils パッケージがインストールされている必要がある。
以下のコマンドを実行してインストールする。
sudo apt update sudo apt install cifs-utils
CIFS モジュールの確認。
lsmod | grep cifs
コマンドを手動で実行して、設定が正しいかを確認する。
sudo mount -t cifs -o "username=xxxxxx,password=yyyyyyyyyy,uid=1000,gid=1000,iocharset=utf8,vers=2.0" //<NASサーバー名>.local/home /mnt/nas
ポイント:SMB プロトコルのバージョン「vers=2.0」を指定しないとうまくいかない。
成功していれば、/mnt/nas ディレクトリ内に NAS の共有フォルダが表示される。
ls -la /mnt/nas
②./etc/fstab を編集し、自動的にマウントする設定を行う
/etc/fstab の編集。
sudo nano /etc/fstab
# NAS 自動マウント設定
//<NASサーバー名 > .local/home /mnt/nas cifs credentials=/home/ubuntu/.smbcredentials,uid=1000,gid=1000,iocharset=utf8,vers=2.0,_netdev 0 0
ポイント1:「.smbcredentials」は、認証情報をファイルで指定。 ポイント2:SMB プロトコルのバージョン「vers=2.0」を指定。
password に記号が含まれている為、認証情報をファイル化する。
sudo nano /home/ubuntu/.smbcredentials
username=xxxxxx
password=yyyyyyyyyy
ファイルのパーミッションを設定する。
sudo chmod 600 ~/.smbcredentials
再起動後、うまくいっていれば、/mnt/nas ディレクトリ内に NAS の共有フォルダが表示される。
6. ローカルパス(/mnt/nas)への変更要領
.desktop ファイルの再作成。
sudo nano ~/Desktop/日別アクセス回数記録.desktop
ショートカットの Exec を、ローカルのパス(/mnt/nas)を利用するように変更して再作成する。
[Desktop Entry]
Version=1.0
Type=Application
Name=日別アクセス回数記録
Exec=wps "/mnt/nas/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
Icon=/usr/share/icons/hicolor/256x256/mimetypes/wps-office-xls.png
Terminal=false
ポイント:Exec 行のパスを、自動マウントしたローカルパス(/mnt/nas)に変更。(「Exec=wps 」でも、エクセルファイルを開くことが出来る。)
Before:
Exec=wps "/run/user/1000/gvfs/smb-share:server=<NASサーバー名 > .local,share=home/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
After:
Exec=wps "/mnt/nas/10 Webサイト資料/51 サイト分析資料/01 Search Connsole/サイト別・日別 アクセス回数記録_new.xlsx"
ファイルを実行可能にする。
sudo chmod +x ~/Desktop/日別アクセス回数記録.desktop
画面右下に作成された「ショートカットアイコン」。
7. NAS上のフォルダーを開く 「ショートカットアイコン」の作り方
「ファイル(Nautilus)」アプリで開きたい NAS上のフォルダーがあるディレクトリーを表示し、右クリックで表示されるメニューから「端末で開く」を選択する。
端末が開いたら「pwd」と入力し、表示されるカレントディレクトリの絶対パスをコピーする。
コピーしたカレントディレクトリの絶対パスから、home 以下を下図のようにコピーして「Desktop Entry」を作成する。
「Desktop Entry」ファイルの作成。
nano ~/ Desktop/'IP107-Arakoki70資料'.desktop
「.desktopの名前 」は何でもよい。ショートカットアイコンが作成された時点で、Desktop Entry の Name 行で指定した名前に変更される。 但し、ここで記述する名前に空白がある場合は、シングルコーテーションで囲む。
作成した Desktop Entry の内容。
[Desktop Entry]
Version=1.0
Type=Application
Name=IP107-Arakoki70資料
Exec=nautilus "smb://<nasname > .local/home/10 Webサイト資料/13 IP107-Arakoki70資料"
Icon=folder
Terminal=false
<nasname>の箇所は、NASのサーバー名。
smb:// は ●SMB/CIFS(Server Message Block/Common Internet File System)プロトコルを使用してネットワーク共有リソースにアクセスするためのスキームです。 ●NAS をマウントせずに直接ネットワーク経由でフォルダを開く場合、smb:// プロトコルを使用します。 ●smb://<サーバー名>/<共有名> または smb://<サーバー名>/<共有名>/<パス> の形式で指定します。 ●スクリプトやショートカット作成では、互換性が高い smb:// を使用することを推奨します。
以上。 (2024.12.24)