没有

没有

我正在努力配置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);
        }

最后非常清楚地硬编码将图像定位在右下角。水平位置是屏幕宽度减去图像宽度;垂直位置是图像高度减去屏幕高度。使用术语程度意思是对面的角起源,那么一般情况下,图像范围将始终在屏幕范围内。由于原点位于左上角,因此图像将始终出现在相对的右下角。

这回答了我的问题(并鼓励我提交“重力”补丁)。

相关内容