C++、SDL、libcaca - 如何禁用通过 ssh 在终端中播放视频

C++, SDL, libcaca - How to disable playing videos in terminal over ssh

标题有点奇怪,我知道,但这确实是我的情况:

我用 C++ 编写了一个应用程序,它使用 SDL 在屏幕上呈现位图。 部分代码:

myScreen = SDL_SetVideoMode(width, height, 32, SDL_HWSURFACE);

bitmap = SDL_LoadBMP(filename.c_str());

SDL_BlitSurface(bitmap, NULL, myScreen, NULL);
SDL_Flip(myScreen);
SDL_FreeSurface(bitmap);

当我在设备上时,它在连接 HDMI 的屏幕上显示 bitmaps/video 效果很好(我的设备是联想笔记本电脑,上面有 Ubuntu 15.10)。

现在,当我在同一台设备上执行此操作但我通过 ssh(从终端)连接时,视频显示在我的终端中(从我的发现看来是 libcaca 负责的人。

笑一笑,然后请告诉我:

如何禁用它并通过连接到我设备的 HDMI 屏幕显示视频?

Link to big buck bunny in terminal.

当您通过 ssh 登录时,将您的 DISPLAY 环境变量设置为 运行 程序之前的本地显示。然后它应该选择本地视频显示驱动程序并通过连接到笔记本电脑的 HDMI 显示,

$ export DISPLAY=:0
$ ./your-sdl-program

或一次性,

$ DISPLAY=:0 ./your-sdl-program