
我想在系統啟動時啟動一個 wine 應用程式。
然而這個應用程式需要 Xwindow 環境。我現在只能手動啟動它,所以我必須先登入然後啟動應用程式。
我搜尋了一些有關 Xsession 啟動設定的資訊。我認為應用該方法需要登入。如何在不登入的情況下啟動應用程式?
答案1
如果沒有登錄,您無法啟動 X11 應用程式。我認為您的意思是您不想每次都輸入使用者名稱和密碼。
如果是這種情況,首先,您應該在顯示管理器上設定自動登入。由於您沒有提供有關您使用什麼 DM 的任何信息,因此我無法提供確切的說明(無論如何,快速搜索即可)。
其次,您必須將wine
命令列新增至 WM/DE 自動啟動檔案。每個 WM/DE 的自動啟動檔案各不相同。搜尋一下。
這應該可以。
答案2
UBUNTU 14.04 X64 - XFCE with VNC - 自動登錄,自動啟動 WINE 應用程式
adduser rapid_vn
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-get install xfce4
sudo apt-get install firefox
sudo apt-get install gnome-schedule
sudo apt-get install wine
sudo apt-get upgrade
sudo apt-get clean
安裝緊密的 VNC 伺服器
apt-get install tightvncserver
更改用戶
su - rapid_vn
使用用戶rapid_vn為VNC伺服器設定密碼
vncpasswd
註銷用戶rapid_vn
exit
配置VNC伺服器
nano /etc/init.d/vncserver
#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="rapid_vn"
DISPLAY="1"
DEPTH="16"
DPI="96"
GEOMETRY="800x600"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} -alwaysshared -dpi ${DPI} :${DISPLAY}"
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "STARTING VNCSERVER FOR USER '${USER}' ON LOCALHOST:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
stop)
log_action_begin_msg "STOPING VNCSERVER FOR USER '${USER}' ON LOCALHOST:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
nano /home/rapid_vn/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
startxfce4 &
chown -R rapid_vn. /home/rapid_vn/.vnc && chmod +x /home/rapid_vn/.vnc/xstartup
sed -i 's/allowed_users.*/allowed_users=anybody/g' /etc/X11/Xwrapper.config
chmod +x /etc/init.d/vncserver
service vncserver start
update-rc.d vncserver defaults
reboot
使 Firefox 重新啟動時自動啟動
mkdir /home/rapid_vn/.config
mkdir /home/rapid_vn/.config/autostart
chmod u=rwx,g=rwx,o=rwx /home/rapid_vn/.config
chmod u=rwx,g=rwx,o=rwx /home/rapid_vn/.config/autostart
nano /home/rapid_vn/.config/autostart/firefox.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Firefox Browser
Comment=Firefox Browser
Exec=/usr/bin/firefox
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
重新啟動時自動啟動 MT4
nano /home/rapid_vn/.config/autostart/metatrader4.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=MetaTrader 4
Comment=MetaTrader 4
Exec=wine "C:\\Program Files (x86)\\MetaTrader 4\\Terminal.exe"
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
使腳本重新啟動 MetaTrader 4
nano /home/rapid_vn/restart_mt4.sh
#!/bin/sh
pkill Terminal.exe &
pkill terminal.exe &
env DISPLAY=:1 wine "C:\\Program Files (x86)\\MetaTrader 4\\Terminal.exe" &
製作任務計劃運行腳本
mkdir /home/rapid_vn/.gnome
mkdir /home/rapid_vn/.gnome/gnome-schedule
mkdir /home/rapid_vn/.gnome/gnome-schedule/crontab
chmod u=rwx,g=rwx,o=rwx /home/rapid_vn/.gnome
chmod u=rwx,g=rwx,o=rwx /home/rapid_vn/.gnome/gnome-schedule
chmod u=rwx,g=rwx,o=rwx /home/rapid_vn/.gnome/gnome-schedule/crontab
nano /home/rapid_vn/.gnome/gnome-schedule/crontab/1
ver=5
title=Restart MetaTrader 4
desc=
output=0
display=0
command_d=sh /home/rapid_vn/restart_mt4.sh
echo 1 > /home/rapid_vn/.gnome/gnome-schedule/crontab/last_id
編輯時間運行任務計劃
su - rapid_vn
crontab -e
58 23 * * * sh /home/rapid_vn/restart_mt4.sh # JOB_ID_1
exit
reboot