
我這裡有一個筆記本和網路共用。通常我希望在啟動時安裝它們,但這對於並不總是連接到正確網路的筆記型電腦來說不太好。所以我在 fstab 中添加了“noauto”。
<IP>:/share /share nfs noauto,defaults 0 0
但如果我連接到正確的網絡,我不想總是手動安裝共享。有沒有辦法讓它在我單擊資料夾時掛載,就像使用 USB 驅動器一樣?或者當筆記型電腦處於正確的網路時如何讓它安裝的任何其他想法?
希望你能幫忙。
答案1
您可以新增該nofail
選項並刪除no-auto
.這將在您連接時在啟動時新增自動安裝,但在安裝失敗時不會為您帶來問題。
然後,最簡單的下一步就是
mount <mount-point directory>
當您連接到網路但未安裝時呼叫。如果這很麻煩,您可以將其放入簡短的腳本中或為該命令分配 bash 別名。
一種更奇特、更自動化的替代方案是在建立任何連接時運行腳本。您可以執行一個 cron 作業,每隔 x 時間執行一個腳本:
#!/bin/bash
if [[ $(cat /sys/class/net/<device 1>/carrier) == 1 ]] && [[ -z $(grep -s '<mount-point directory> ' /proc/mounts) ]]; then
mount <mount-point directory>
fi
這將檢查您是否有連接並安裝(如果尚未安裝)。
答案2
我目前使用以下方法:
- 建立桌面入口檔案。
- 當您需要網路共用時,只需雙擊桌面上的圖示即可,而無需透過終端手動安裝。
- 輸入您的密碼。每個登入會話僅限一次。
- 在檔案總管中查看您的網路共用。
現在桌面入口文件(~/Desktop/nas.desktop
):
[Desktop Entry]
Name=nas
Exec=sh -c "findmnt /mnt/nas || pkexec mount 192.168.1.15:/ /mnt/nas && nemo /mnt/nas"
Comment=Mount and open NAS shared dir
Terminal=false
Icon=folder-remote
Type=Application
sh -c ...
只是多個命令的包裝,使它們成為一個命令,因為桌面條目並不總是適用於多個命令。
findmnt ...
檢查掛載點是否...好吧,掛載與否。如果已經存在,則跳過下一個命令。
pkexec ...
以超級使用者身分執行mount
命令,以「GUI 方式」要求您輸入密碼,就像sudo
在終端機中一樣。
nemo
是一個檔案管理器(我使用linux mint)。
這種方式的缺點之一是您必須進入桌面(Ctrl+D),並且您將看到一個新的文件管理器窗口,而不僅僅是已打開的窗口中的一個新選項卡,並且您仍然需要輸入密碼。這就是為什麼我目前正在尋找更好的解決方案。如果我找到它,我會將其發佈在這裡。