anl*_*lar 5 wine x11 resolution
例如,我的应用程序(游戏)只有 640x480 的分辨率。现在我有 2 个选项:以窗口模式启动它,大小为 640x480 或启用全屏并填满整个屏幕。
我想要的是在不进入全屏模式的情况下调整应用程序的大小(例如到 1024x768)。
至于现在我已经尝试了两种解决方案:
在winecfg
. 起初它会以该分辨率启动桌面,但是当我在应用程序中启用全屏时,它会将桌面缩小到 640x480。
在内部 X 服务器中启动 Wine:
Xephyr -ac -br -noreset -screen 1024x768 :1.0 &
ZEPHYR_PID=$!
sleep 1
DISPLAY=:1.0 wine game.exe
kill $ZEPHYR_PID
Run Code Online (Sandbox Code Playgroud)
同样的问题,当我启用全屏时它会调整窗口大小。
我曾经在全屏模式下玩过,我制作了脚本来更改显示器的分辨率和刷新率,因为我使用了错误的速率,在我的显示器中出现了一个带有消息“Entrace not adm”的浮动框。为了修复我使用类似下面的东西
这是“黑桃 A”
#!/bin/bash
# Resolution Fix
echo `xrandr --current | grep current | awk '{print $8}'` >> /tmp/width
echo `xrandr --current | grep current | awk '{print $10}'` >> /tmp/height
cat /tmp/height | sed -i 's/,//g' /tmp/height
WIDTH=$(cat /tmp/width)
HEIGHT=$(cat /tmp/height)
rm /tmp/height /tmp/height
echo "$WIDTH"x"$HEIGHT" >> /tmp/Resolution
Resolution=$(cat /tmp/Resolution)
rm /tmp/Resolution
# Resolution Fix
BINARY="$HOME/.wine/drive_c/Ace of Spades/client.exe"
$(wine "$BINARY" -"$@" "%u") &
xrandr -s 800x600 -r 77
sleep 2
BINARYPID=$(pidof $BINARY)
taskset -p 0xFFFFFFFF $BINARYPID &
while Launchers=$(pidof "client.exe")
do
sleep 1
done
xrandr -s $Resolution -r 63
exit 0
Run Code Online (Sandbox Code Playgroud)
在 Resume 这个脚本中,它用于启动 Ace Of Spade,从“mimetype”和来自网络浏览器的服务器,使用协议“aos://”,这是它的另一种配置类型,我在这里不解释。
这次启动游戏,游戏启动后,显示器的分辨率变为800x600,直到我关闭游戏,当我关闭游戏时,我的分辨率又恢复了。