當您使用流浪者構建虛擬機時,您是否可以幫助我在用戶級別執行命令?具體來說,我試圖更新Ubuntu屏幕左側的「啓動器圖標」。在下面的vagrant文件中,我已經嘗試了inline shell和一個內聯腳本。我將不勝感激您提供的任何幫助。流浪者執行命令行用戶級別
$script = <<SCRIPT
echo "Configuring Launcher Icons..."
gsettings set com.canonical.Unity.Launcher favorites "['application://org.gnome.Nautilus.desktop', 'application://chromium-browser.desktop', 'unity://running-apps', 'application://terminator.desktop', 'unity://expo-icon', 'unity://devices']"
service lightdm restart
SCRIPT
Vagrant.configure(2) do |config|
config.vm.box = "box-cutter/ubuntu1604-desktop"
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
vb.name = "UpdateLauncherIcons"
# Customize the amount of memory on the VM:
vb.memory = "4096"
end
config.vm.provision "shell", inline: <<-SHELL
# Update OS
apt-get update
apt-get upgrade
apt-get --yes install git
apt-get --yes install terminator
apt-get --yes install chromium-browser
gsettings set com.canonical.Unity.Launcher favorites "['application://org.gnome.Nautilus.desktop', 'application://chromium-browser.desktop', 'unity://running-apps', 'application://terminator.desktop', 'unity://expo-icon', 'unity://devices']"
service lightdm restart
SHELL
config.vm.provision "shell", inline: $script
end
筆記,流浪確實提供一條錯誤消息在執行內聯腳本時:
==> default: Running provisioner: shell...
default: Running: inline script
==> default: Configuring Launcher Icons...
==> default:
==> default: (process:6221): dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY
進一步的測試證實,以及當在客戶機終端窗口內執行的命令下面工作。再一次,挑戰是讓這個命令從主機上執行的vagrantfile中運行。
gsettings set com.canonical.Unity.Launcher favorites "['application://org.gnome.Nautilus.desktop', 'application://chromium-browser.desktop', 'unity://running-apps', 'application://terminator.desktop', 'unity://expo-icon', 'unity://devices']"
'sudo -u vagrant'在您的聯機供應商中。 –
@CodeGnome我試過你的建議和使用: 'sudo -u vagrant gsettings set com.canonical.Unity.Launcher favorites「['application://org.gnome.Nautilus.desktop','unity:// running-但是,我仍然在運行vagrantfile的主機終端中收到一條錯誤消息:「我的應用程序」 '==>默認:(進程:5495):dconf-CRITICAL **:無法創建目錄'/root/.cache/dconf':Permission de nied。 dconf將無法正常工作。' 您有任何其他建議嗎? – Nick
爲什麼你以root身份創建任何東西?流浪使用者通常是'vagrant'或'ubuntu',並且默認使用sudo以root身份運行。我想你可能會更多地解釋你正在處理的權限和位置,因爲這顯然是一個權限問題。 –