我登录时交换驱动器未打开

我登录时交换驱动器未打开

最近我添加了一个新的 40GB 硬盘作为交换。我希望在计算机登录时启用交换。我按照说明操作这里使 swap 命令在启动时运行。

我添加swaps.desktop/etc/xdg/autostart/以及/usr/share/applications/。里面swaps.desktop是这样的:

[Desktop Entry]
Name=Swap Drive Autostart
Exec=swapon -p 32767 /dev/sda5
Type=Application
Terminal=false

我确信显示的命令(swapon -p 32767 /dev/sda5)可以自行运行,但当我重新启动计算机时,交换功能并未启用。

然后我让这个文件可以以我自己的身份运行(使用),因为该文件在启动时没有运行:

sudo chown root:root /etc/xdg/autostart/
sudo chmod 700 /etc/xdg/autostart/

sudo chown root:root /usr/share/applications/
sudo chmod 700 /usr/share/applications/

我也这样做了sudo visudo,并添加了以下几行:

administrator  ALL=(ALL) NOPASSWD: /etc/xdg/autostart/swaps.desktop
administrator  ALL=(ALL) NOPASSWD: /usr/share/applications/swaps.desktop

whoami说 我 是administrator.

最终结果:当我尝试swaps.desktop单独运行任一文件时,我得到了Error: Permission denied.但是当我使用“以根用户身份打开当前文件夹”运行文件时,它运行完美并且我的交换空间显示在cat /proc/swaps

我做错了什么?我该如何让它正确工作,以便每次登录时都可以启用交换?

答案1

您需要在 fstab 中添加条目/etc/fstab

它需要与您的 UUID 一起提及

这是我的 fstab 条目示例

# swap was on /dev/sda5 during installation
UUID=c44126db-1f07-4dfa-a836-e478fecdd8d0 none            swap    sw              0       0

这是我的自动创建的交换条目,您需要输入此处显示的值

如果你需要知道驱动器的 UUID,请运行命令

#blkid /dev/yourdrive

然后你会得到这样的值:

/dev/sda5: UUID="c44126db-1f07-4dfa-a836-e478fecdd8d0" TYPE="swap"

看看我是如何在电脑上运行它的:

root@system99:/home/sysadmin# blkid /dev/sda5 
/dev/sda5: UUID="c44126db-1f07-4dfa-a836-e478fecdd8d0" TYPE="swap"

相关内容