Câu hỏi cố gắng cài đặt các trình quản lý cửa sổ đầu cuối


Tôi muốn thử một số nhà quản lý cửa sổ thiết bị đầu cuối như Viper Window Manager (VWM) và Twin ("Textmode WINdow"), nhưng tôi gặp khó khăn khi chạy chúng trong Ubuntu. Các gói có sẵn cho những nỗ lực tương tự hoặc khác hoặc có một số nguyên tắc để cài đặt không?


EDIT: Tôi đã thêm vào dưới đây một mô tả về những khó khăn cụ thể mà tôi đang gặp phải. Ban đầu, tôi mô tả nỗ lực của mình khi cài đặt Viper Window Manager, sau đó tôi mô tả nỗ lực của mình khi cài đặt Twin. Đối với cả hai lần thử, các vấn đề gặp phải trong quá trình biên dịch. Đối với trường hợp của Viper Window Manager, có rất nhiều tài liệu tham khảo không xác định. Đối với trường hợp của Twin, có vẻ như là một vấn đề định dạng trong Make procedure. Tôi không biết làm thế nào để tiến hành với một trong những vấn đề này và sẽ đánh giá cao bất kỳ ý tưởng bạn có thể có. Cảm ơn.

Viper Window Manager

Các điều kiện tiên quyết được liệt kê cho Viper Window Manager như sau:

  • glib 2.8+
  • libpseudo
  • libviper 1.4.5+
  • libgpm
  • ncurses 5.4+

cài đặt glib 2.40.0

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

cài đặt libpseudo

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

cài đặt libgpm, ncurses và libviper

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.

cài đặt Viper Window Manager

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

Tại thời điểm này, có một vấn đề. Các viết tắt đầu ra đầu cuối như sau:

/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

cài đặt Twin

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

Tại thời điểm này, có một vấn đề. Đầu ra của thiết bị đầu cuối như sau:

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

2
2018-05-10 13:26


gốc


Tôi không nghĩ rằng bạn sẽ tìm thấy gói Ubuntu, tôi rất nghi ngờ có nhiều quan tâm đến một cái gì đó như thế trong thế giới Ubuntu. Tôi đề nghị bạn chỉnh sửa câu hỏi của bạn và giải thích những khó khăn của bạn là gì. Bạn có thể biên dịch và cài đặt từ nguồn. Bạn đã thử chưa - terdon♦
Cảm ơn nhận xét và đề xuất của bạn. Sự quan tâm của tôi đối với các giao diện này dựa trên sự tò mò (tôi chưa bao giờ sử dụng các trình quản lý cửa sổ văn bản mở rộng và muốn) và tính thực tiễn (tôi đã nghe các báo cáo tốt về việc sử dụng từ xa của họ (ví dụ: thông qua SSH). từ nguồn và đã gặp khó khăn cho cả Viper Window Manager và Twin. Tôi đã chỉnh sửa bài đăng của mình để cung cấp thông tin cụ thể về những vấn đề này. Hãy cho tôi biết nếu bạn có bất kỳ suy nghĩ nào! :) - d3pd
Nếu bạn quản lý để xây dựng VMW, hãy kiểm tra lỗi này - Braiam
Tại sao bạn cài đặt các thư viện từ nguồn thay vì sử dụng các thư viện có sẵn trong kho gói? - terdon♦
Tôi đã cài đặt ncurses và libgpm từ các gói, nhưng, đối với những người khác, tôi không thấy một cách rõ ràng để làm như vậy. - d3pd


Các câu trả lời:


Twin

Twin Windows Manager có thể được cài đặt trong 14.04 bằng cách cài đặt libtwin0 gói. Để cài đặt hoàn tất, hãy làm theo lệnh sau:

sudo apt-get install libtwin0 multiarch-support libc6 libjpeg8 libpng12-0 libx11-6 zlib1g libtwin-dev gextractwinicons

Cú pháp để sử dụng Twin trong Commandline là:

twin [OPTION [...]]

Bạn có thể tìm tùy chọn theo:

twin -h

Bạn cũng có thể đọc manpages.ubuntu.com bài báo.


1
2018-05-11 02:54



Cảm ơn bạn vì câu trả lời. Điều này có vẻ đầy hứa hẹn. Sau khi làm điều này, bạn có biết làm thế nào tôi có thể tiến hành để cố gắng chạy Twin? Khi tôi cố thực thi lệnh này twinhoặc là twstart, họ không được tìm thấy. - d3pd


Twin

Điều này làm việc cho tôi trên ubuntu 16.04:

git clone https://github.com/cosmos72/twin
cd twin
./configure
make
sudo make install
export LD_LIBRARY_PATH=/usr/local/lib
twin

1
2017-09-12 07:33