首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图安装终端窗口管理器

试图安装终端窗口管理器
EN

Ask Ubuntu用户
提问于 2014-05-10 13:26:13
回答 2查看 1.2K关注 0票数 2

我想尝试一些终端窗口管理器,如Viper (VWM)和Twin ("Textmode WINdow"),但我在Ubuntu中运行它们时遇到了困难。这些或其他类似的工作是否有包可供使用,或者是否有一些安装指南?

编辑:我在下面添加了对我遇到的具体困难的描述。最初,我描述了安装Viper的尝试,然后描述了安装Twin的尝试。在这两次尝试中,在编译过程中都会遇到问题。对于Viper,有许多未定义的引用。对于Twin,在Make过程中似乎存在格式化问题。我不知道如何处理这两个问题,我希望你能有任何想法。谢谢。

Viper窗口管理器

Viper窗口管理器列出的先决条件如下:

  • glib 2.8+
  • 李伯伪
  • libviper 1.4.5+
  • 利布
  • ncurses 5.4+

安装glib 2.40.0

代码语言:javascript
复制
wget http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.40/glib-2.40.0.tar.xz
tar -xvf glib-2.40.0.tar.xz
cd glib-2.40.0/
./configure
make
sudo make install

安装libpseudo伪

代码语言:javascript
复制
wget http://garr.dl.sourceforge.net/project/libpseudo/libpseudo-1.2.0.tar.gz
tar -xvf libpseudo-1.2.0.tar.gz
cd libpseudo/
make
sudo make install

安装libgpm、ncurses和libviper

代码语言:javascript
复制
wget http://kent.dl.sourceforge.net/project/libviper/libviper-1.4.6.tar.gz
tar -xvf libviper-1.4.6.tar.gz
cd libviper/
sudo apt-get install -y ncurses-dev
sudo apt-get install -y libgpm-dev
make
sudo make install
# The file viper.h is in the directory /usr/local/include now.
# The file libviper.so is in the directory /usr/local/lib now.

安装Viper窗口管理器

代码语言:javascript
复制
wget http://garr.dl.sourceforge.net/project/vwm/vwm-2.1.3.tar.gz
tar -xvf vwm-2.1.3.tar.gz
cd cd vwm/
make

在这一点上,有一个问题。缩略语终端输出如下:

代码语言:javascript
复制
/tmp/ccNnGI2W.o: In function `vwm_init':
/home/user/VWM/vwm/vwm.c:200: undefined reference to `viper_screen_get_wallpaper'
/home/user/VWM/vwm/vwm.c:202: undefined reference to `g_malloc0'
/tmp/ccNnGI2W.o: In function `main':
/home/user/VWM/vwm/vwm.c:87: undefined reference to `g_module_supported'
/home/user/VWM/vwm/vwm.c:130: undefined reference to `g_thread_init'
/home/user/VWM/vwm/vwm.c:132: undefined reference to `viper_init'
/home/user/VWM/vwm/vwm.c:134: undefined reference to `viper_set_border_agent'
/home/user/VWM/vwm/vwm.c:135: undefined reference to `viper_set_border_agent'
/home/user/VWM/vwm/vwm.c:142: undefined reference to `viper_kmio_dispatch_set_hook'
/home/user/VWM/vwm/vwm.c:145: undefined reference to `viper_screen_redraw'
/home/user/VWM/vwm/vwm.c:149: undefined reference to `psthread_init'
/home/user/VWM/vwm/vwm.c:150: undefined reference to `psthread_add'
/home/user/VWM/vwm/vwm.c:151: undefined reference to `psthread_add'
/home/user/VWM/vwm/vwm.c:178: undefined reference to `psthread_run'
/home/user/VWM/vwm/vwm.c:172: undefined reference to `shmq_msg_get'
/home/user/VWM/vwm/vwm.c:181: undefined reference to `psthread_run'
/home/user/VWM/vwm/vwm.c:186: undefined reference to `viper_end'
/tmp/ccdfRjqI.o: In function `vwm_bkgd_simple':
/home/user/VWM/vwm/vwm_bkgd.c:54: undefined reference to `viper_thread_enter'
/home/user/VWM/vwm/vwm_bkgd.c:56: undefined reference to `viper_wresize'
/home/user/VWM/vwm/vwm_bkgd.c:65: undefined reference to `window_fill'
/home/user/VWM/vwm/vwm_bkgd.c:70: undefined reference to `wattr_on'
/home/user/VWM/vwm/vwm_bkgd.c:71: undefined reference to `mvwprintw'
/home/user/VWM/vwm/vwm_bkgd.c:72: undefined reference to `wattr_on'
/home/user/VWM/vwm/vwm_bkgd.c:74: undefined reference to `viper_thread_leave'
/home/user/VWM/vwm/vwm_bkgd.c:59: undefined reference to `viper_color_pair'
/tmp/ccdfRjqI.o: In function `vwm_bkgd_bricks':
/home/user/VWM/vwm/vwm_bkgd.c:110: undefined reference to `viper_thread_enter'
/home/user/VWM/vwm/vwm_bkgd.c:112: undefined reference to `viper_wresize'
/home/user/VWM/vwm/vwm_bkgd.c:113: undefined reference to `wattr_off'
/home/user/VWM/vwm/vwm_bkgd.c:146: undefined reference to `wattr_on'
/home/user/VWM/vwm/vwm_bkgd.c:147: undefined reference to `mvwprintw'
/home/user/VWM/vwm/vwm_bkgd.c:148: undefined reference to `wattr_on'
/home/user/VWM/vwm/vwm_bkgd.c:150: undefined reference to `viper_thread_leave'
/home/user/VWM/vwm/vwm_bkgd.c:121: undefined reference to `viper_color_pair'
/home/user/VWM/vwm/vwm_bkgd.c:128: undefined reference to `wmove'
/home/user/VWM/vwm/vwm_bkgd.c:129: undefined reference to `waddch'
/home/user/VWM/vwm/vwm_bkgd.c:136: undefined reference to `viper_color_pair'
/home/user/VWM/vwm/vwm_bkgd.c:141: undefined reference to `window_fill'

... many similar errors, removed for the purposes of post brevity...

/tmp/ccHLYQ3M.o: In function `vwm_sigset':
/home/user/VWM/vwm/vwm_signals.c:38: undefined reference to `g_malloc0'
/home/user/VWM/vwm/vwm_signals.c:46: undefined reference to `g_free'
/tmp/ccHLYQ3M.o: In function `vwm_backtrace':
/home/user/VWM/vwm/vwm_signals.c:61: undefined reference to `endwin'
/tmp/ccrc2yXA.o: In function `vwm_fmod_wndlist':
/home/user/VWM/vwm/vwm_wndlist.c:45: undefined reference to `viper_window_find_by_class'
/home/user/VWM/vwm/vwm_wndlist.c:47: undefined reference to `viper_thread_enter'
/home/user/VWM/vwm/vwm_wndlist.c:49: undefined reference to `viper_deck_get_wndlist'
/home/user/VWM/vwm/vwm_wndlist.c:50: undefined reference to `g_strv_length'
/home/user/VWM/vwm/vwm_wndlist.c:58: undefined reference to `viper_menu_create'
/home/user/VWM/vwm/vwm_wndlist.c:60: undefined reference to `g_malloc0'
/home/user/VWM/vwm/vwm_wndlist.c:63: undefined reference to `set_menu_format'
/home/user/VWM/vwm/vwm_wndlist.c:65: undefined reference to `set_menu_mark'
/home/user/VWM/vwm/vwm_wndlist.c:67: undefined reference to `scale_menu'
/home/user/VWM/vwm/vwm_wndlist.c:71: undefined reference to `viper_window_create'
/home/user/VWM/vwm/vwm_wndlist.c:72: undefined reference to `viper_menu_bind'
/home/user/VWM/vwm/vwm_wndlist.c:76: undefined reference to `viper_color_pair'
/home/user/VWM/vwm/vwm_wndlist.c:75: undefined reference to `set_menu_fore'
/home/user/VWM/vwm/vwm_wndlist.c:77: undefined reference to `viper_color_pair'
/home/user/VWM/vwm/vwm_wndlist.c:77: undefined reference to `set_menu_back'
/home/user/VWM/vwm/vwm_wndlist.c:82: undefined reference to `viper_event_set'
/home/user/VWM/vwm/vwm_wndlist.c:84: undefined reference to `viper_window_set_key_func'
/home/user/VWM/vwm/vwm_wndlist.c:85: undefined reference to `viper_window_set_userptr'
/home/user/VWM/vwm/vwm_wndlist.c:86: undefined reference to `viper_window_set_state'
/home/user/VWM/vwm/vwm_wndlist.c:88: undefined reference to `viper_thread_leave'
/home/user/VWM/vwm/vwm_wndlist.c:89: undefined reference to `g_strfreev'
/home/user/VWM/vwm/vwm_wndlist.c:54: undefined reference to `viper_thread_leave'
/tmp/ccrc2yXA.o: In function `vwm_fmod_wndlist_ON_DESTROY':
/home/user/VWM/vwm/vwm_wndlist.c:111: undefined reference to `viper_thread_enter'
/home/user/VWM/vwm/vwm_wndlist.c:127: undefined reference to `viper_menu_destroy'
/home/user/VWM/vwm/vwm_wndlist.c:129: undefined reference to `viper_thread_leave'
/tmp/ccrc2yXA.o: In function `vwm_fmod_wndlist_ON_KEYSTROKE':
/home/user/VWM/vwm/vwm_wndlist.c:141: undefined reference to `viper_window_get_userptr'
/home/user/VWM/vwm/vwm_wndlist.c:151: undefined reference to `viper_thread_enter'
/home/user/VWM/vwm/vwm_wndlist.c:170: undefined reference to `viper_window_redraw'
/home/user/VWM/vwm/vwm_wndlist.c:171: undefined reference to `viper_thread_leave'
/home/user/VWM/vwm/vwm_wndlist.c:156: undefined reference to `current_item'
/home/user/VWM/vwm/vwm_wndlist.c:158: undefined reference to `viper_window_destroy'
/home/user/VWM/vwm/vwm_wndlist.c:166: undefined reference to `viper_thread_leave'
/home/user/VWM/vwm/vwm_wndlist.c:145: undefined reference to `menu_driver'
/home/user/VWM/vwm/vwm_wndlist.c:146: undefined reference to `getmouse'
/home/user/VWM/vwm/vwm_wndlist.c:151: undefined reference to `viper_thread_enter'
/home/user/VWM/vwm/vwm_wndlist.c:153: undefined reference to `menu_driver'
/home/user/VWM/vwm/vwm_wndlist.c:152: undefined reference to `menu_driver'
collect2: error: ld returned 1 exit status
make: *** [vwm] Error 1

Twin

安装双

代码语言:javascript
复制
wget http://netcologne.dl.sourceforge.net/project/twin/twin/0.6.2/twin-0.6.2.tar.gz
tar -xvf twin-0.6.2.tar.gz
cd twin-0.6.2/
./configure
make

在这一点上,有一个问题。终端输出如下:

代码语言:javascript
复制
make -C include
make[1]: Entering directory `/home/user/Twin/twin-0.6.2/include'
make autogen -C Tutf
make[2]: Entering directory `/home/user/Twin/twin-0.6.2/include/Tutf'
make[2]: Nothing to be done for `autogen'.
make[2]: Leaving directory `/home/user/Twin/twin-0.6.2/include/Tutf'
make autogen -C Tw
make[2]: Entering directory `/home/user/Twin/twin-0.6.2/include/Tw'
make[2]: Nothing to be done for `autogen'.
make[2]: Leaving directory `/home/user/Twin/twin-0.6.2/include/Tw'
make autogen -C TT
make[2]: Entering directory `/home/user/Twin/twin-0.6.2/include/TT'
make[2]: Nothing to be done for `autogen'.
make[2]: Leaving directory `/home/user/Twin/twin-0.6.2/include/TT'
make[1]: Leaving directory `/home/user/Twin/twin-0.6.2/include'
make -C docs
make[1]: Entering directory `/home/user/Twin/twin-0.6.2/docs'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/user/Twin/twin-0.6.2/docs'
make -C themes
make[1]: Entering directory `/home/user/Twin/twin-0.6.2/themes'
make -C hw_gfx
make[2]: Entering directory `/home/user/Twin/twin-0.6.2/themes/hw_gfx'
ln -f -s ShinyMetal_6x13.xpm default_6x13.xpm
ln -f -s absolute-e_8x16.xpm default_8x16.xpm
ln -f -s Ganymede_9x19.xpm default_9x19.xpm
make[2]: Leaving directory `/home/user/Twin/twin-0.6.2/themes/hw_gfx'
make[1]: Leaving directory `/home/user/Twin/twin-0.6.2/themes'
make -C libs
make[1]: Entering directory `/home/user/Twin/twin-0.6.2/libs'
make -C libTutf
make[2]: Entering directory `/home/user/Twin/twin-0.6.2/libs/libTutf'
gcc -D_REENTRANT -O2 -fomit-frame-pointer -fno-strict-aliasing -Wall -Wshadow -Wno-uninitialized -Wno-pointer-sign -D_GNU_SOURCE  -I../../include  -s  ../../scripts/endianity.c -o ../../scripts/Endianity
../../scripts/Endianity > ../../include/Tw/endianity.h
gcc -D_REENTRANT -O2 -fomit-frame-pointer -fno-strict-aliasing -Wall -Wshadow -Wno-uninitialized -Wno-pointer-sign -D_GNU_SOURCE  -I../../include   -s  ../../scripts/getsizes.c -o ../../scripts/Getsizes
../../scripts/Getsizes > ../../include/Tw/datasizes.h
gcc -D_REENTRANT -O2 -fomit-frame-pointer -fno-strict-aliasing -Wall -Wshadow -Wno-uninitialized -Wno-pointer-sign -D_GNU_SOURCE  -I../../include  -s  ../../scripts/mkdep.c -o ../../scripts/Mkdep
cat ../../scripts/unitypes32.in > ../../include/Tw/uni_types.h
building  ../../.hdepend
building  ../../include/Tw/Twautoconf.h
/bin/bash ../../scripts/Configure.tty "../../" "../../" < /dev/null > /dev/null || \
    /bin/sh ../../scripts/Configure.fallback "../../" "../../" < /dev/null > /dev/null
building  .depend
building  .modules
make[2]: Leaving directory `/home/user/Twin/twin-0.6.2/libs/libTutf'
make[2]: Entering directory `/home/user/Twin/twin-0.6.2/libs/libTutf'
.modules:1: *** missing separator. Stop.
make[2]: Leaving directory `/home/user/Twin/twin-0.6.2/libs/libTutf'
make[1]: *** [build-dir-libTutf] Error 2
make[1]: Leaving directory `/home/user/Twin/twin-0.6.2/libs'
make: *** [build-dir-libs] Error 2
EN

回答 2

Ask Ubuntu用户

发布于 2014-05-11 02:54:50

Twin

通过安装libtwin0包,可以在14.04中安装双Windows管理器。要完成安装,请遵循以下命令:

代码语言:javascript
复制
sudo apt-get install libtwin0 multiarch-support libc6 libjpeg8 libpng12-0 libx11-6 zlib1g libtwin-dev gextractwinicons

命令行中使用Twin的语法是:

代码语言:javascript
复制
twin [OPTION [...]]

您可以通过以下方式找到选项:

代码语言:javascript
复制
twin -h

您还可以阅读manpages.ubuntu.com文章。

票数 1
EN

Ask Ubuntu用户

发布于 2016-09-12 07:33:46

Twin

这对我来说很管用,在ubuntu 16.04上:

代码语言:javascript
复制
git clone https://github.com/cosmos72/twin
cd twin
./configure
make
sudo make install
export LD_LIBRARY_PATH=/usr/local/lib
twin
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/463865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档