我正在努力配置xrdp
。经常推荐的“scarygliders”工具似乎没有ls_background_image
在来源中提及。xrdp.ini(5)
甚至没有提到这个选项,所以这是(从字面上看)未知的领域。
我想将公司徽标放置在下方左边在背景上。默认 xrdp 行为较低正确的。
任何线索非常感谢!
答案1
没有
无法定位壁纸ls_background
图像。
我很明智地去寻找资料来源。其中xrdp/xrdp_login_wnd.c
有一个用于加载图像的简单子句,由配置键触发:
/* Load the background image. */
/* If no file is specified no default image will be loaded. */
/* We only load the image if bpp > 8 */
if (globals->ls_background_image[0] != 0 && self->screen->bpp > 8)
{
char fileName[256] ;
but = xrdp_bitmap_create(4, 4, self->screen->bpp, WND_TYPE_IMAGE, self);
if (globals->ls_background_image[0] == '/')
{
g_snprintf(fileName, 255, "%s", globals->ls_background_image);
}
else
{
g_snprintf(fileName, 255, "%s/%s",
XRDP_SHARE_PATH, globals->ls_background_image);
}
log_message(LOG_LEVEL_DEBUG, "We try to load the following background file: %s", fileName);
xrdp_bitmap_load(but, fileName, self->palette);
but->parent = self->screen;
but->owner = self->screen;
but->left = self->screen->width - but->width;
but->top = self->screen->height - but->height;
list_add_item(self->screen->child_list, (long)but);
}
最后非常清楚地硬编码将图像定位在右下角。水平位置是屏幕宽度减去图像宽度;垂直位置是图像高度减去屏幕高度。使用术语程度意思是对面的角起源,那么一般情况下,图像范围将始终在屏幕范围内。由于原点位于左上角,因此图像将始终出现在相对的右下角。
这回答了我的问题(并鼓励我提交“重力”补丁)。