LINUX.ORG.RU

Сообщения avrigus

 

с dwm на hyprland. Поведение dwm-like [не решено]

Всем доброго.

Щупаю hyprland, пользуюсь dwm. Хочется wayland, но с dwl как-то не сложилось. Установил hyprland из бинарей в tumbleweed, поднастроил внешний вид, поставил layout master, и все бы хорошо, но обратил внимание на отличное от dwm поведение по нажатию Mod+Return: в dwm эта комбинация меняет местами мастер с предыдущим мастером, а в hyprland меняется мастер с вершиной стека. Очень подсел на эту фичу в dwm, к сожалению в hyprland она работает по другому.

Может есть в сообществе сострадальцы, кто столкнулся с тем же и знает решение? Полистал код на гитхабе, не нашёл места где можно было бы это исправить, но программист из меня так себе.

PS. Вернее в dwm мастер тоже меняется с вершиной стека, но предыдущий мастер помещается в вершину, в дальнейшем это окно уходит в глубину стека по мере вызова других окон в мастер.

 ,

avrigus
()

Сборка dwl на opensuse

Всем доброго!

Последние пару дней бьюсь со сборкой dwl на opensuse. С Leap 15.5 вчера стало понятно, что «как есть» его не собрать, т.к. в leap старая версия wlroots. С TW дела получше, собирается и запускается, но не без костылей:

$:~/.local/src> git clone https://codeberg.org/dwl/dwl.git
Cloning into 'dwl'...
remote: Enumerating objects: 3715, done.
remote: Counting objects: 100% (3715/3715), done.
remote: Compressing objects: 100% (1354/1354), done.
remote: Total 3715 (delta 2436), reused 3617 (delta 2351), pack-reused 0
Receiving objects: 100% (3715/3715), 1.21 MiB | 2.69 MiB/s, done.
Resolving deltas: 100% (2436/2436), done.

$:~/.local/src/dwl> make
cp config.def.h config.h
`pkg-config --variable=wayland_scanner wayland-scanner` server-header \
	`pkg-config --variable=pkgdatadir wayland-protocols`/staging/cursor-shape/cursor-shape-v1.xml cursor-shape-v1-protocol.h
`pkg-config --variable=wayland_scanner wayland-scanner` server-header \
	`pkg-config --variable=pkgdatadir wayland-protocols`/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml pointer-constraints-unstable-v1-protocol.h
`pkg-config --variable=wayland_scanner wayland-scanner` server-header \
	protocols/wlr-layer-shell-unstable-v1.xml wlr-layer-shell-unstable-v1-protocol.h
`pkg-config --variable=wayland_scanner wayland-scanner` server-header \
	`pkg-config --variable=pkgdatadir wayland-protocols`/stable/xdg-shell/xdg-shell.xml xdg-shell-protocol.h
c99  `pkg-config --cflags wlroots wayland-server xkbcommon libinput ` -I. -DWLR_USE_UNSTABLE -D_POSIX_C_SOURCE=200809L -DVERSION=\"`git describe --tags --dirty 2>/dev/null || echo 0.5`\"  -g -pedantic -Wall -Wextra -Wdeclaration-after-statement -Wno-unused-parameter -Wshadow -Wunused-macros -Werror=strict-prototypes -Werror=implicit -Werror=return-type -Werror=incompatible-pointer-types -Wfloat-conversion -O1 -c dwl.c
/bin/sh: line 1: c99: command not found
make: *** [Makefile:69: dwl.o] Error 127

это я победил с помощью данного треда: https://forums.freebsd.org/threads/building-dwl-fails-with-c99-illegal-option-p.92040/

$:~/.local/src/dwl> sed -i'' -e s/_POSIX_C_SOURCE=200809L/_XOPEN_SOURCE=700/ Makefile

$:~/.local/src/dwl> gmake CC=cc CFLAGS+='-std=c11' XWAYLAND="-DXWAYLAND" XLIBS="xcb xcb-icccm"
cc  `pkg-config --cflags wlroots wayland-server xkbcommon libinput xcb xcb-icccm` -I. -DWLR_USE_UNSTABLE -D_XOPEN_SOURCE=700 -DVERSION=\"`git describe --tags --dirty 2>/dev/null || echo 0.5`\" -DXWAYLAND -g -pedantic -Wall -Wextra -Wdeclaration-after-statement -Wno-unused-parameter -Wshadow -Wunused-macros -Werror=strict-prototypes -Werror=implicit -Werror=return-type -Werror=incompatible-pointer-types -Wfloat-conversion -std=c11 -c dwl.c
cc  `pkg-config --cflags wlroots wayland-server xkbcommon libinput xcb xcb-icccm` -I. -DWLR_USE_UNSTABLE -D_XOPEN_SOURCE=700 -DVERSION=\"`git describe --tags --dirty 2>/dev/null || echo 0.5`\" -DXWAYLAND -g -pedantic -Wall -Wextra -Wdeclaration-after-statement -Wno-unused-parameter -Wshadow -Wunused-macros -Werror=strict-prototypes -Werror=implicit -Werror=return-type -Werror=incompatible-pointer-types -Wfloat-conversion -std=c11 -c util.c
cc dwl.o util.o `pkg-config --libs wlroots wayland-server xkbcommon libinput xcb xcb-icccm`   `pkg-config --cflags wlroots wayland-server xkbcommon libinput xcb xcb-icccm` -I. -DWLR_USE_UNSTABLE -D_XOPEN_SOURCE=700 -DVERSION=\"`git describe --tags --dirty 2>/dev/null || echo 0.5`\" -DXWAYLAND -g -pedantic -Wall -Wextra -Wdeclaration-after-statement -Wno-unused-parameter -Wshadow -Wunused-macros -Werror=strict-prototypes -Werror=implicit -Werror=return-type -Werror=incompatible-pointer-types -Wfloat-conversion -std=c11 -o dwl\

после чего dwl благополучно запускается. Далее проблемы возникают с патчем bar:

$:~/.local/src/dwl> git apply bar.patch
bar.patch:800: trailing whitespace.
			
warning: 1 line adds whitespace errors.

$:~/.local/src/dwl> gmake CC=cc CFLAGS+='-std=c11' XWAYLAND="-DXWAYLAND" XLIBS="xcb xcb-icccm"
cc  `pkg-config --cflags wlroots wayland-server xkbcommon libinput pixman-1 fcft xcb xcb-icccm` -I. -DWLR_USE_UNSTABLE -D_XOPEN_SOURCE=700 -DVERSION=\"`git describe --tags --dirty 2>/dev/null || echo 0.5`\" -DXWAYLAND -g -pedantic -Wall -Wextra -Wdeclaration-after-statement -Wno-unused-parameter -Wshadow -Wunused-macros -Werror=strict-prototypes -Werror=implicit -Werror=return-type -Werror=incompatible-pointer-types -Wfloat-conversion -std=c11 -c dwl.c
In file included from dwl.c:461:
config.h:168:31: warning: initialization of ‘unsigned int’ from ‘void (*)(const Arg *)’ makes integer from pointer without a cast [-Wint-conversion]
  168 |         { MODKEY, BTN_LEFT,   moveresize,     {.ui = CurMove} },
      |                               ^~~~~~~~~~
config.h:168:31: note: (near initialization for ‘buttons[0].button’)
config.h:168:31: error: initializer element is not computable at load time
config.h:168:31: note: (near initialization for ‘buttons[0].button’)
config.h:168:9: warning: braces around scalar initializer
  168 |         { MODKEY, BTN_LEFT,   moveresize,     {.ui = CurMove} },
      |         ^
config.h:168:9: note: (near initialization for ‘buttons[0].func’)
config.h:168:48: error: field name not in record or union initializer
  168 |         { MODKEY, BTN_LEFT,   moveresize,     {.ui = CurMove} },
      |                                                ^
config.h:168:48: note: (near initialization for ‘buttons[0].func’)
config.h:168:54: warning: initialization of ‘void (*)(const Arg *)’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  168 |         { MODKEY, BTN_LEFT,   moveresize,     {.ui = CurMove} },
      |                                                      ^~~~~~~
config.h:168:54: note: (near initialization for ‘buttons[0].func’)
config.h:168:9: warning: missing initializer for field ‘arg’ of ‘Button’ [-Wmissing-field-initializers]
  168 |         { MODKEY, BTN_LEFT,   moveresize,     {.ui = CurMove} },
      |         ^
dwl.c:109:19: note: ‘arg’ declared here
  109 |         const Arg arg;
      |                   ^~~
config.h:169:31: warning: initialization of ‘unsigned int’ from ‘void (*)(const Arg *)’ makes integer from pointer without a cast [-Wint-conversion]
  169 |         { MODKEY, BTN_MIDDLE, togglefloating, {0} },
      |                               ^~~~~~~~~~~~~~
config.h:169:31: note: (near initialization for ‘buttons[1].button’)
config.h:169:31: error: initializer element is not computable at load time
config.h:169:31: note: (near initialization for ‘buttons[1].button’)
config.h:169:9: warning: braces around scalar initializer
  169 |         { MODKEY, BTN_MIDDLE, togglefloating, {0} },
      |         ^
config.h:169:9: note: (near initialization for ‘buttons[1].func’)
config.h:169:9: warning: missing initializer for field ‘arg’ of ‘Button’ [-Wmissing-field-initializers]
dwl.c:109:19: note: ‘arg’ declared here
  109 |         const Arg arg;
      |                   ^~~
config.h:170:31: warning: initialization of ‘unsigned int’ from ‘void (*)(const Arg *)’ makes integer from pointer without a cast [-Wint-conversion]
  170 |         { MODKEY, BTN_RIGHT,  moveresize,     {.ui = CurResize} },
      |                               ^~~~~~~~~~
config.h:170:31: note: (near initialization for ‘buttons[2].button’)
config.h:170:31: error: initializer element is not computable at load time
config.h:170:31: note: (near initialization for ‘buttons[2].button’)
config.h:170:9: warning: braces around scalar initializer
  170 |         { MODKEY, BTN_RIGHT,  moveresize,     {.ui = CurResize} },
      |         ^
config.h:170:9: note: (near initialization for ‘buttons[2].func’)
config.h:170:48: error: field name not in record or union initializer
  170 |         { MODKEY, BTN_RIGHT,  moveresize,     {.ui = CurResize} },
      |                                                ^
config.h:170:48: note: (near initialization for ‘buttons[2].func’)
config.h:170:54: warning: initialization of ‘void (*)(const Arg *)’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  170 |         { MODKEY, BTN_RIGHT,  moveresize,     {.ui = CurResize} },
      |                                                      ^~~~~~~~~
config.h:170:54: note: (near initialization for ‘buttons[2].func’)
config.h:170:9: warning: missing initializer for field ‘arg’ of ‘Button’ [-Wmissing-field-initializers]
  170 |         { MODKEY, BTN_RIGHT,  moveresize,     {.ui = CurResize} },
      |         ^
dwl.c:109:19: note: ‘arg’ declared here
  109 |         const Arg arg;
      |                   ^~~
dwl.c: In function ‘arrangelayers’:
dwl.c:575:34: error: ‘topbar’ undeclared (first use in this function)
  575 |                 usable_area.y += topbar ? m->b.height : 0;
      |                                  ^~~~~~
dwl.c:575:34: note: each undeclared identifier is reported only once for each function it appears in
dwl.c: In function ‘buttonpress’:
dwl.c:678:36: error: ‘tags’ undeclared (first use in this function); did you mean ‘tag’?
  678 |                         x += TEXTW(tags[i]);
      |                                    ^~~~
dwl.c:85:53: note: in definition of macro ‘TEXTW’
   85 | #define TEXTW(text) (draw_text(NULL, 0, 0, 0, 0, 0, text, NULL) + lrpad)
      |                                                     ^~~~
dwl.c: In function ‘createmon’:
dwl.c:1022:22: error: ‘showbar’ undeclared (first use in this function)
 1022 |         m->showbar = showbar;
      |                      ^~~~~~~
dwl.c: In function ‘drawbar’:
dwl.c:1459:71: error: ‘normbarbg’ undeclared (first use in this function)
 1459 |                 draw_rect(pix, 0, 0, mon->b.width, mon->b.height, 1, &normbarbg);
      |                                                                       ^~~~~~~~~
dwl.c:1461:84: error: ‘normbarfg’ undeclared (first use in this function)
 1461 |                 draw_text(pix, mon->b.width - tw, 0, tw, mon->b.height, 0, stext, &normbarfg);
      |                                                                                    ^~~~~~~~~
dwl.c:1473:32: error: ‘tags’ undeclared (first use in this function); did you mean ‘tag’?
 1473 |         for (i = 0; i < LENGTH(tags); i++) {
      |                                ^~~~
dwl.c:80:41: note: in definition of macro ‘LENGTH’
   80 | #define LENGTH(X)               (sizeof X / sizeof X[0])
      |                                         ^
dwl.c:1478:41: error: ‘selbarfg’ undeclared (first use in this function)
 1478 |                         urg & 1 << i ? &selbarfg : (sel ? &selbarbg : &normbarbg));
      |                                         ^~~~~~~~
dwl.c:1478:60: error: ‘selbarbg’ undeclared (first use in this function)
 1478 |                         urg & 1 << i ? &selbarfg : (sel ? &selbarbg : &normbarbg));
      |                                                            ^~~~~~~~
dwl.c:1505:29: error: ‘topbar’ undeclared (first use in this function)
 1505 |                 mon->m.y + (topbar ? 0 : mon->m.height - mon->b.height));
      |                             ^~~~~~
dwl.c: In function ‘setup’:
dwl.c:2745:44: error: ‘fonts’ undeclared (first use in this function); did you mean ‘font’?
 2745 |         if (!(font = fcft_from_name(LENGTH(fonts), fonts, fontattrs)))
      |                                            ^~~~~
dwl.c:80:41: note: in definition of macro ‘LENGTH’
   80 | #define LENGTH(X)               (sizeof X / sizeof X[0])
      |                                         ^
dwl.c:2745:59: error: ‘fontattrs’ undeclared (first use in this function)
 2745 |         if (!(font = fcft_from_name(LENGTH(fonts), fonts, fontattrs)))
      |                                                           ^~~~~~~~~
dwl.c: In function ‘tag’:
dwl.c:82:48: error: ‘tags’ undeclared (first use in this function); did you mean ‘tag’?
   82 | #define TAGMASK                 ((1u << LENGTH(tags)) - 1)
      |                                                ^~~~
dwl.c:80:41: note: in definition of macro ‘LENGTH’
   80 | #define LENGTH(X)               (sizeof X / sizeof X[0])
      |                                         ^
dwl.c:2824:32: note: in expansion of macro ‘TAGMASK’
 2824 |         if (!sel || (arg->ui & TAGMASK) == 0)
      |                                ^~~~~~~
dwl.c: In function ‘toggletag’:
dwl.c:82:48: error: ‘tags’ undeclared (first use in this function); did you mean ‘tag’?
   82 | #define TAGMASK                 ((1u << LENGTH(tags)) - 1)
      |                                                ^~~~
dwl.c:80:41: note: in definition of macro ‘LENGTH’
   80 | #define LENGTH(X)               (sizeof X / sizeof X[0])
      |                                         ^
dwl.c:2905:56: note: in expansion of macro ‘TAGMASK’
 2905 |         if (!sel || !(newtags = sel->tags ^ (arg->ui & TAGMASK)))
      |                                                        ^~~~~~~
dwl.c: In function ‘toggleview’:
dwl.c:82:48: error: ‘tags’ undeclared (first use in this function); did you mean ‘tag’?
   82 | #define TAGMASK                 ((1u << LENGTH(tags)) - 1)
      |                                                ^~~~
dwl.c:80:41: note: in definition of macro ‘LENGTH’
   80 | #define LENGTH(X)               (sizeof X / sizeof X[0])
      |                                         ^
dwl.c:2918:81: note: in expansion of macro ‘TAGMASK’
 2918 |         if (!(newtagset = selmon ? selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK) : 0))
      |                                                                                 ^~~~~~~
dwl.c: In function ‘view’:
dwl.c:82:48: error: ‘tags’ undeclared (first use in this function); did you mean ‘tag’?
   82 | #define TAGMASK                 ((1u << LENGTH(tags)) - 1)
      |                                                ^~~~
dwl.c:80:41: note: in definition of macro ‘LENGTH’
   80 | #define LENGTH(X)               (sizeof X / sizeof X[0])
      |                                         ^
dwl.c:3121:35: note: in expansion of macro ‘TAGMASK’
 3121 |         if (!selmon || (arg->ui & TAGMASK) == selmon->tagset[selmon->seltags])
      |                                   ^~~~~~~
dwl.c: At top level:
dwl.c:2876:1: warning: ‘togglebar’ defined but not used [-Wunused-function]
 2876 | togglebar(const Arg *arg)
      | ^~~~~~~~~
gmake: *** [Makefile:69: dwl.o] Error 1

Я не специалист в C, но мне кажется, что проблема с флагами компилятора. ЕМНИП на void (или debian) сам dwl собирался без каких либо проблем, далее не испытывал. Возможно, самая первая ошибка при сборке dwl (/bin/sh: line 1: c99: command not found) должна решаться иначе? Или с dwl пока все плохо?

 ,

avrigus
()

[РЕШЕНО] OpenSUSE Tumbleweed. Установка новых (непрошенных) пакетов при обновлении.

Всем доброго.

Недавно перелез на opensuse tw, на днях при очередном обновлении столкнулся с поведением zypper, которое я не понимаю.

z dup
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...

The following 295 packages are going to be upgraded:
  aaa_base aaa_base-extras adwaita-icon-theme bind-utils boost-license1_84_0 dconf debuginfod-client debuginfod-profile dracut elfutils fdupes ffmpeg-6-libavcodec-devel ffmpeg-6-libavformat-devel ffmpeg-6-libavutil-devel
  ffmpeg-6-libswresample-devel firewalld firewalld-bash-completion firewalld-lang gawk gcr3-data gcr3-prompter gcr3-ssh-askpass gcr-ssh-agent gcr-viewer gdb gdk-pixbuf-loader-rsvg gdk-pixbuf-query-loaders gdk-pixbuf-thumbnailer
  gdmflexiserver gio-branding-openSUSE girepository-1_0 glib2-tools glib-networking gnome-keyring gnome-keyring-pam gsettings-backend-dconf gsettings-desktop-schemas gstreamer gstreamer-plugins-base gtk2-data gtk2-immodule-amharic
  gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-tigrigna gtk2-immodule-vietnamese gtk2-tools gtk3-branding-openSUSE gtk3-data gtk3-immodule-amharic gtk3-immodule-inuktitut gtk3-immodule-thai gtk3-immodule-tigrigna
  gtk3-immodule-vietnamese gtk3-schema gtk3-tools gtk4-branding-openSUSE gtk4-schema gtk4-tools gvfs gvfs-backend-afc gvfs-backends gvfs-backend-samba gvfs-fuse ImageMagick irqbalance irqbalance-ui kf6-ki18n kf6-kio kuserfeedback-imports
  kuserfeedback-lang libabsl2401_0_0 libasm1 libass9 libatk-1_0-0 libatk-bridge-2_0-0 libatspi0 libavcodec60 libavfilter9 libavformat60 libavutil58 libboost_filesystem1_84_0 libboost_filesystem1_84_0-x86-64-v3 libboost_iostreams1_84_0
  libboost_iostreams1_84_0-x86-64-v3 libboost_locale1_84_0 libboost_locale1_84_0-x86-64-v3 libboost_thread1_84_0 libboost_thread1_84_0-x86-64-v3 libcamera0_2 libcamera-base0_2 libcanberra0 libcanberra-gtk0 libcanberra-gtk2-module
  libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-gtk-module-common libcloudproviders0 libcolord2 libdbus-glib-1-2 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libdebuginfod1 libdw1 libelf1 libffi8 libffi-devel libgck-1-0
  libgck-2-2 libgck-modules-gnome-keyring libgcr-3-1 libgcr-4-4 libgdk_pixbuf-2_0-0 libgio-2_0-0 libgirepository-1_0-1 libglib-2_0-0 libgmodule-2_0-0 libgobject-2_0-0 libgraphene-1_0-0 libgstallocators-1_0-0 libgstapp-1_0-0
  libgstaudio-1_0-0 libgstgl-1_0-0 libgstpbutils-1_0-0 libgstplay-1_0-0 libgstplayer-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgthread-2_0-0 libgtk-2_0-0 libgtk-3-0 libgtk-4-1 libgtkmm-3_0-1
  libgudev-1_0-0 libharfbuzz0 libharfbuzz-icu0 libharfbuzz-subset0 libhdf5-200 libjson-glib-1_0-0 libKF5I18n5 libKF5IconThemes5 libKF5XmlGui5 libKF6I18n6 libKF6KIO6 libKUserFeedbackCore1 libKUserFeedbackWidgets1 liblzma5 liblzma5-x86-64-v3
  libMagickCore-7_Q16HDRI10 libMagickWand-7_Q16HDRI10 libmbim libmbim-glib4 libmm-glib0 libmp3lame0 libmp3lame0-x86-64-v3 libnghttp2-14 libnm0 libnotify4 libnss_usrfiles2 libpango-1_0-0 libpixman-1-0 libpixman-1-0-devel libply5
  libply-splash-core5 libply-splash-graphics5 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpoppler135 libpoppler-glib8 libpostproc57 libproxy1 libpsl5 libpxbackend-1_0 libqrtr-glib0 libQt5Core5 libQt5DBus5 libQt5Gui5 libQt5Network5
  libQt5Positioning5 libQt5PrintSupport5 libqt5-qtbase-platformtheme-gtk3 libqt5-qtgraphicaleffects libqt5-qtquickcontrols libqt5-qtquickcontrols2 libqt5-qtstyleplugins-platformtheme-gtk2 libqt5-qttranslations libqt5-qtwebengine
  libqt5-qtxmlpatterns-imports libQt5QuickControls2-5 libQt5QuickTemplates2-5 libQt5Sql5 libQt5Sql5-sqlite libQt5Svg5 libQt5Test5 libQt5TextToSpeech5 libQt5WaylandClient5 libQt5WebChannel5 libQt5WebChannel5-imports libQt5Widgets5
  libQt5X11Extras5 libQt5Xml5 libQt5XmlPatterns5 libQtQuick5 librsvg-2-2 libsecret-1-0 libsoup-3_0-0 libswresample4 libswscale7 libsystemd0 libtracker-sparql-3_0-0 libudev1 libwireplumber-0_5-0 libwlroots12 libxcb1 libxcb-composite0
  libxcb-damage0 libxcb-dbe0 libxcb-devel libxcb-dpms0 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-record0 libxcb-render0 libxcb-res0 libxcb-screensaver0 libxcb-shape0 libxcb-shm0 libxcb-sync1
  libxcb-xf86dri0 libxcb-xfixes0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb-xtest0 libxcb-xv0 libxcb-xvmc0 libzstd1 libzstd1-x86-64-v3 man-pages mbimcli-bash-completion ModemManager ModemManager-bash-completion NetworkManager
  NetworkManager-branding-openSUSE NetworkManager-tui nodejs-electron openSUSE-release openSUSE-release-ftp patterns-base-apparmor patterns-base-base patterns-base-documentation patterns-base-enhanced_base patterns-base-minimal_base
  patterns-base-sw_management patterns-base-x11 patterns-base-x11_enhanced pkexec plymouth plymouth-dracut plymouth-lang plymouth-plugin-label plymouth-plugin-two-step plymouth-scripts plymouth-theme-bgrt plymouth-theme-spinner polkit
  python311-dbus-python python311-gobject python311-gobject-cairo python3-firewall qt5ct qtdeclarative-imports-provides-qt5 strace systemd systemd-coredump systemd-devel systemd-doc typelib-1_0-NM-1_0 udev vim vim-data vim-data-common
  wireplumber wireplumber-audio wlroots-devel xf86-input-evdev xkeyboard-config xxd xz zstd

The following 8 patterns are going to be upgraded:
  apparmor base documentation enhanced_base minimal_base sw_management x11 x11_enhanced

The following product is going to be upgraded:
  openSUSE Tumbleweed  20240319-0 -> 20240321-0

The following 299 NEW packages are going to be installed:
  argyllcms bluez bluez-auto-enable-devices bluez-cups bluez-obexd bolt brltty brltty-driver-brlapi brltty-driver-speech-dispatcher brltty-driver-xwindow bubblewrap colord colord-color-profiles cups cups-filters cups-pk-helper dLeyna
  enchant-2-backend-hunspell enchant-data evolution-data-server gcr-ssh-askpass gdm gdm-branding-openSUSE gdm-schema geocode-glib gjs gnome-bluetooth gnome-browser-connector gnome-clocks gnome-color-manager gnome-control-center
  gnome-control-center-color gnome-control-center-goa gnome-control-center-user-faces gnome-control-center-users gnome-online-accounts gnome-session gnome-session-core gnome-session-default-session gnome-settings-daemon gnome-shell
  gnome-shell-calendar gnome-shell-search-provider-gnome-clocks gnome-shell-search-provider-nautilus gnome-user-docs gsettings-desktop-schemas-lang gstreamer-libnice gstreamer-plugin-openh264 gstreamer-plugin-pipewire gstreamer-plugins-bad
  gstreamer-plugins-good gstreamer-plugins-good-gtk gupnp-av gupnp-dlna gvfs-backend-goa gweather4-data icewm icewm-config-upstream icewm-default icewm-lang iio-sensor-proxy libaccountsservice0 libadwaita-1-0 libao4 libao-plugins4
  libappstream5 libavtp0 libbrlapi0_8 libcamel-1_2-64 libcolord-gtk4-1 libcolorhug2 libcue2 libdca0 libdotconf0 libdvdnav4 libdvdread8 libebackend-1_2-11 libebook-1_2-21 libebook-contacts-1_2-4 libecal-2_0-3 libedata-book-1_2-27
  libedata-cal-2_0-2 libedataserver-1_2-27 libedataserverui-1_2-4 libell0 libenchant-2-2 libespeak-ng1 libevdocument3-4 libevview3-3 libexempi8 libexiv2-28 libexiv2-28-x86-64-v3 libgdata22 libgdm1 libgeocode-glib-2-0 libgexiv2-2 libgjs0
  libgme0 libgnome-autoar-0-0 libgnome-bluetooth-3_0-13 libgnome-bluetooth-ui-3_0-13 libgnome-desktop-3_0-common libgnome-desktop-3-20 libgnome-desktop-4-2 libgoa-1_0-0 libgoa-backend-1_0-2 libgsf-1-114 libgsound0 libgspell-1-2
  libgssdp-1_6-0 libgstadaptivedemux-1_0-0 libgstanalytics-1_0-0 libgstbadaudio-1_0-0 libgstbasecamerabinsrc-1_0-0 libgstcodecparsers-1_0-0 libgstcodecs-1_0-0 libgstcuda-1_0-0 libgstfft-1_0-0 libgstinsertbin-1_0-0 libgstisoff-1_0-0
  libgstmpegts-1_0-0 libgstmse-1_0-0 libgstphotography-1_0-0 libgstrtp-1_0-0 libgstrtsp-1_0-0 libgstsctp-1_0-0 libgstsdp-1_0-0 libgsttranscoder-1_0-0 libgsturidownloader-1_0-0 libgstva-1_0-0 libgstvulkan-1_0-0 libgstwayland-1_0-0
  libgstwebrtc-1_0-0 libgstwebrtcnice-1_0-0 libgtksourceview-4-0 libgtop-2_0-11 libgupnp-1_6-0 libgupnp-av-1_0-3 libgupnp-dlna-2_0-4 libgupnp-dlna-backend-gstreamer libgupnp-igd-1_6-0 libgusb2 libgweather-4-0 libgxps2 libhandy-1-0
  libharfbuzz-gobject0 libibus-1_0-5 libical3 libical-glib3 libiptcdata libiptcdata0 libjavascriptcoregtk-4_1-0 liblouis20 liblouis-data liblrdf2 libmalcontent-0-0 libmanette-0_2-0 libmicrodns1 libmjpegutils-2_2-0 libmozjs-115-0 libmpcdec6
  libmpeg2encpp-2_2-0 libmplex2-2_2-0 libmsgraph-0-1 libnautilus-extension4 libneon27 libnice10 libnma-gtk4-0 libosinfo libosinfo-1_0-0 libpackagekit-glib2-18 libpcaudio0 libpcre2-32-0 libphonenumber8 libpoppler-cpp0 libportal1
  libportal-gtk4-1 libprotobuf25_3_0 libqpdf29 libqt5-qtspeech-plugin-speechd libreoffice-gnome libreoffice-gtk3 libreofficekit librest-1_0-0 libSoundTouch1 libsoup-2_4-1 libspandsp3 libspeechd2 libspeech-provider-1_0 libspiel-1_0
  libsrtp2-1 libstemmer1d libsynctex2 libtag2 libtotem-plparser18 libupower-glib3 libv4l libv4l1-0 libv4l2-0 libv4lconvert0 libwavpack1 libwavpack1-x86-64-v3 libwebkit2gtk-4_1-0 libwnck-3-0 libxkbregistry0 libxmlb2 libxmlb2-x86-64-v3
  libXRes1 libXvnc1 libyelp0 libzbar0 malcontent mutter nautilus NetworkManager-bluetooth NetworkManager-wwan orca osinfo-db PackageKit PackageKit-backend-zypp PackageKit-branding-openSUSE PackageKit-gstreamer-plugin PackageKit-gtk3-module
  parallel-printer-support polkit-gnome poppler-tools python311-gobject-Gdk python311-pysmbc python311-speechd python3-brlapi python3-louis sbc speech-dispatcher speech-dispatcher-module-espeak sushi system-config-printer-common
  system-config-printer-dbus-service system-user-brltty system-user-pulse tecla-keyboard-layout-viewer tigervnc totem-pl-parser totem-video-thumbnailer tracker tracker-data-files tracker-miner-files tracker-miners
  typelib-1_0-AccountsService-1_0 typelib-1_0-Adw-1 typelib-1_0-Atk-1_0 typelib-1_0-Atspi-2_0 typelib-1_0-EvinceDocument-3_0 typelib-1_0-EvinceView-3_0 typelib-1_0-Gck-2 typelib-1_0-Gcr-4 typelib-1_0-GdkPixbuf-2_0 typelib-1_0-Gdm-1_0
  typelib-1_0-Geoclue-2_0 typelib-1_0-Gio-2_0 typelib-1_0-GjsPrivate-1_0 typelib-1_0-GLib-2_0 typelib-1_0-GModule-2_0 typelib-1_0-GnomeBG-4_0 typelib-1_0-GnomeBluetooth-3_0 typelib-1_0-GnomeDesktop-4_0 typelib-1_0-GObject-2_0
  typelib-1_0-Graphene-1_0 typelib-1_0-Gst-1_0 typelib-1_0-GstTag-1_0 typelib-1_0-Gtk-3_0 typelib-1_0-Gtk-4_0 typelib-1_0-GtkSource-4 typelib-1_0-GWeather-4_0 typelib-1_0-Handy-1_0 typelib-1_0-HarfBuzz-0_0 typelib-1_0-IBus-1_0
  typelib-1_0-JavaScriptCore-4_1 typelib-1_0-Malcontent-0 typelib-1_0-NMA4-1_0 typelib-1_0-Notify-0_7 typelib-1_0-PackageKitGlib-1_0 typelib-1_0-Pango-1_0 typelib-1_0-Polkit-1_0 typelib-1_0-Rsvg-2_0 typelib-1_0-Secret-1
  typelib-1_0-Soup-3_0 typelib-1_0-Spiel-1_0 typelib-1_0-UpowerGlib-1_0 typelib-1_0-WebKit2-4_1 typelib-1_0-Wnck-3_0 upower webkit2gtk-4_1-injected-bundles xbrlapi xdg-dbus-proxy xdg-desktop-portal-gtk xorg-x11-Xvnc xorg-x11-Xvnc-module
  yelp yelp-xsl

295 packages to upgrade, 299 new.
Overall download size: 333.5 MiB. Already cached: 8.6 MiB. After the operation, additional 472.6 MiB will be used.
Continue? [y/n/v/...? shows all options] (y)

Собственно, из выхлопа zypper видно, что при очередном обновлении приехало 295 пакетов, что вполне меня устраивает, при этом приехали еще 299 новых пакетов, которые мне не нужны. Использую минималистичную систему с DWM, без дисплей менеджера, и QT (например, для libreoffice), а тут мне и пол гнома суют и gdm и, почему-то, bluez, в общем то, что я явно не запрашивал.

Не могу понять что заставляет их устанавливаться. Поковырял patterns: либо не так ковырял, либо дело не в них, но правды мне там найти не удалось. Ткните носом, плз, наверняка кто-то сталкивался.

Решение: помог ключ --no-recommends для zypper. Изменил /etc/zypp/zypper.conf :

installRecommends = no

новых обновлений не поступало, но, полагаю, это поможет.

Всем участвующим большое спасибо.

 , ,

avrigus
()

DWM. tcl vs. centered master. Изменения порядка размещения окон

Всем доброго, дамы и господа.

Пару лет назад приобрёл ultrawide монитор. Несколько лет использую тайловые wm, в последнее время задержался на DWM. Поскольку монитор очень широкий, стандартный layout DWM мне показался, практически, не юзабельным, по этому нашёл патч three column (http://dwm.suckless.org/patches/three-column/). Для простых задач, типа администрирования локалхоста, вэба, игр, офиса и т.п., этого layout более чем достаточно, но для задач посерьёзней с ним уже тяжело, т.к. окно в мастер зоне может быть только одно окно:

tcl
+-----+-------------+-----+
|1    |             |4    |
|-----+             +-----+
|2    |      M      |5    |
|-----+             +-----+
|3    |             |6    |
+-----+-------------+-----+

Для исправления ситуации нашёл патч centered master (http://dwm.suckless.org/patches/centeredmaster/), который позволяет в мастер зоне держать более одного окна, собственно, то что мне и нужно (и даже больше). Но, при первой же попытке использования мне взорвал мозг порядок размещения окон:

centered master
+-----+-------------+-----+
|2    |             |1    |
|-----+             +-----+
|4    |      M      |3    |
|-----+             +-----+
|6    |             |5    |
+-----+-------------+-----+

Цифрами я показал порядок движения курсора, 1 - старт курсора, по возрастающей - движение курсора по нажатию mod+j.

Как можно заметить, в tcl окна размещаются некой «змейкой», которая хорошо раскладывается в прямую линию, мой мозг привык, что по нажатию mod+j курсор, условно, перемещается «вправо», по mod+k «влево», в centered master же порядок совсем другой: окна разбросаны по сторонам, и, помимо неудобства, связанного с банальной привычкой, приходится постоянно переводить взгляд при каджом переключении в centered master.

Может кто-то уже решал данную задачу и поделится решением, а может кто подскажет, по доброте душевной, кусок кода, который отвечает за размещение окон, а так же даст советы по внесению изменений? Сам код смотрел, но я не программист, не разобрался.

 ,

avrigus
()

XEN, проприетарные драйверы NVIDIA, EFI, Debian 11.2

Доброго времени суток, господа!

Долго думал в какую ветку написать обращение, решил все же в General.
Столкнулся с проблемой, не знаю куда копать. Надеюсь тут надутся люди, кто эту проблему решал, либо те, кто сможет дать отправную точку для дальнейшего копания.

Имею домашнюю систему:

$ inxi -F

System:    Host: wet-cat Kernel: 5.10.0-10-amd64 x86_64 bits: 64 Desktop: i3 4.19.1-138-g01a45d28 Distro: Debian GNU/Linux 11 (bullseye)  
Machine:   Type: Desktop Mobo: Gigabyte model: H97-HD3 v: x.x serial: <superuser required> UEFI: American Megatrends v: F5 date: 06/26/2014  
CPU:       Info: Quad Core model: Intel Core i5-4590 bits: 64 type: MCP L2 cache: 6 MiB  Speed: 3698 MHz min/max: 800/3700 MHz Core speeds (MHz): 1: 3698 2: 3696 3: 3698 4: 3251  
Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics driver: N/A  
Device-2: NVIDIA GM107 [GeForce GTX 750 Ti] driver: nvidia v: 460.91.03  
Display: x11 server: X.Org 1.20.11 driver: loaded: nvidia resolution: 1920x1080~60Hz  
OpenGL: renderer: GeForce GTX 750 Ti/PCIe/SSE2 v: 4.6.0 NVIDIA 460.91.03  
Audio:     Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio driver: snd_hda_intel  
Device-2: Intel 9 Series Family HD Audio driver: snd_hda_intel  
Device-3: NVIDIA GM107 High Definition Audio [GeForce 940MX] driver: snd_hda_intel  
Sound Server: ALSA v: k5.10.0-10-amd64  
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 
IF: eth0 state: up speed: 1000 Mbps duplex: full mac:   
RAID:      Device-1: md126 type: mdraid level: mirror status: active size: 10.91 TiB report: 2/2 UU Components: Online: 0: sdd1 1: sdb1  

Хочу сделать из нее гипервизор XEN стандартными средствами, предусмотренными дистрибутивом. Установка проходит без проблем, после установки получаю 2 дополнительных пункта меню в GRUB:

«Debian GNU/Linux, with Xen hypervisor» (по умолчанию) и «Advanced options…», провалившись в который, я могу выбрать «Xen hypervisor, version 4.14-amd64.efi»

При попытке использовать вариант по умолчанию я получаю порцию текста в консоль, а затем черный экран, далее ничего не происходит, система висит, на ctrl+alt+del не реагирует, индикатор HDD на системном блоке молчит.
Последняя строка, что выводится в консоль перед черным экраном: «(XEN) Xen is reliquishing VGA console.»

При попытке использовать вариант «Xen hypervisor, version 4.14-amd64.efi» получаю:

Loading Xen 4.14-amd64.efi …
error: invalid arch-depend ELF magic.
Loading Linux 5.10.0-10-amd64 …
error: you need to load the ketnel first.
Loading initial ramdisk …
error: you need to load the ketnel first.

Press any key to continue…

т.е. процесс загрузки не доходит до загрузки гипервизора.

Я не могу понять с чем у меня проблема: с проприетарными дровами nvidia, XEN в связаке с EFI, или и с тем и с другим. С другой стороны в первом варианте процесс все же доходит до загрузки гипервизора, т.е. XEN c EFI работает?

Так же хотелось бы знать мнение сообщества по вопросу использования гипервизора в случае, если обозначенная проблема будет решена. Я вижу 2 варианта: 1. использовать Dom0 в качестве десктопа и DomU в качестве машин для сервисов. 2. использовать Dom0 только для организации СХД, а десктоп и сервисы гонять в DomU.
Второй вариант видится более логичным, но я не знаю как на практике будут работать проприетарные дрова nvidia и xorg в DomU (в Dom0, судя по результатам поиска работает), естественно хочется полноценной работы без существенного ущерба производительности.
Буду признателен за советы и умозаключения. Спасибо за внимание.

UPD#1:

Обновил BIOS до последний версии, изменений никаких.

UPD#2:

Произвёл установку на ноутбуке, XEN завёлся из коробки без каких-либо лишних телодвижений. Загружался из пункта меню GRUB по умолчанию, из пункта «Xen hypervisor, version 4.14-amd64.efi» получаю аналогичный десктопу результат, но это уже не интересно, как показала практика XEN должен работать из коробки, и проблема не в EFI. Либо nvidia, либо что то еще.

параметры железа:

$ inxi -F
System:    Host: evil-toy Kernel: 5.10.0-12-amd64 x86_64 bits: 64 Desktop: i3 4.20.1-74-gc7ad7569  
          Distro: Debian GNU/Linux 11 (bullseye)  
Machine:   Type: Laptop System: LENOVO product: 21A2 v: ThinkBook 14 G3 ACL serial: <superuser required>  
          Mobo: LENOVO model: LNVNB161216 v: No DPK serial: <superuser required> UEFI: LENOVO v: GQCN18WW(V1.04)  
          date: 02/04/2021  
Battery:   ID-1: BAT1 charge: 39.9 Wh condition: 43.9/45.0 Wh (98%)  
CPU:       Info: 8-Core model: AMD Ryzen 3 5300U with Radeon Graphics bits: 64 type: MCP L2 cache: 4 MiB  
          Speed: 2595 MHz min/max: N/A Core speeds (MHz): 1: 2595 2: 2595 3: 2595 4: 2595 5: 2595 6: 2595 7: 2595 8: 2595  
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Lucienne driver: amdgpu v: kernel  
          Device-2: IMC Networks Integrated Camera type: USB driver: uvcvideo  
          Display: server: X.Org 1.20.11 driver: loaded: amdgpu resolution: 1920x1080~60Hz  
          OpenGL: renderer: AMD RENOIR (DRM 3.40.0 5.10.0-12-amd64 LLVM 11.0.1) v: 4.6 Mesa 20.3.5  
Audio:     Device-1: Advanced Micro Devices [AMD/ATI] driver: snd_hda_intel  
          Device-2: Advanced Micro Devices [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor driver: N/A  
          Device-3: Advanced Micro Devices [AMD] Family 17h HD Audio driver: snd_hda_intel  
          Sound Server: ALSA v: k5.10.0-12-amd64  
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169  
          IF: eno1 state: down mac:   
          Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi  
          IF: wlp4s0 state: up mac:   
Bluetooth: Device-1: Intel AX200 Bluetooth type: USB driver: btusb  
          Report: ID: hci0 state: up running pscan bt-v: 3.0 address: D0:3C:1F:35:FF:47  
Drives:    Local Storage: total: 238.47 GiB used: 83.14 GiB (34.9%)  
          ID-1: /dev/nvme0n1 vendor: SK Hynix model: HFM256GD3HX015N size: 238.47 GiB  

 , , ,

avrigus
()

lilo и M$ на «втором» диске

Приветствую всех. возникла проблемка. имеется 2 диска /dev/sda и /dev/hdb. на sda стоит linux на hdb windows. настройка lilo следующая: ------------------------------------------------------------------- lba32 boot=/dev/sda2 root=/dev/sda2

bitmap=/boot/sarge.bmp bmp-colors=1,,0,2,,0 bmp-table=120p,173p,1,15,17 bmp-timer=254p,432p,1,0,0

install=bmp prompt map=/boot/map

vga=792

image=/boot/bzImage label="Kernel 2.6.13" read-only

other=/dev/hdb1 label="MS Windows XP" table=/dev/hdb ----------------------------------------------

при выборе windows, на экран выпадает сообщение lading MS Windows XP.... еще несколько непонятных символов в разных местах экрана и на этом все встает. linux загружается без проблем. Систему ставил следующим образом. на sda установил linux. отключив sda подключил hdb и установил windows. сама винда со своего загрузчика стартует без проблем, но через lilo никак. Подскажите как это лечить, мучаюсь уже 2 дня. заранее спасибо

kernel 2.6.13 debian 3.1 lilo 22.6.1

avrigus
()

RSS подписка на новые темы