fstab noauto,但如果按一下資料夾則自動

fstab noauto,但如果按一下資料夾則自動

我這裡有一個筆記本和網路共用。通常我希望在啟動時安裝它們,但這對於並不總是連接到正確網路的筆記型電腦來說不太好。所以我在 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

我目前使用以下方法:

  1. 建立桌面入口檔案。
  2. 當您需要網路共用時,只需雙擊桌面上的圖示即可,而無需透過終端手動安裝。
  3. 輸入您的密碼。每個登入會話僅限一次。
  4. 在檔案總管中查看您的網路共用。

現在桌面入口文件(~/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),並且您將看到一個新的文件管理器窗口,而不僅僅是已打開的窗口中的一個新選項卡,並且您仍然需要輸入密碼。這就是為什麼我目前正在尋找更好的解決方案。如果我找到它,我會將其發佈在這裡。

相關內容