![如何在不登录的情况下启动 wine 应用程序?](https://linux22.com/image/38851/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E7%99%BB%E5%BD%95%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%90%AF%E5%8A%A8%20wine%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我想在系统启动时启动一个 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