StarDict sends X11 clipboard to remote servers 🔥 Горячее 💬 Длинная дискуссия
StarDict — кроссплатформенный словарь GPLv3 — при работе в X11 по умолчанию пересылает выделенный пользователем текст по нешифрованному HTTP на два китайских сервиса: YouDao и dict.cn.
Проблема обнаружена Винсентом Лефевром 4 августа 2025 года при подготовке к Debian 13. Пакет stardict-plugin
, который ставится автоматически, содержит плагин YouDao. Функция «scan» (включена по умолчанию) отслеживает выделение мышью и отправляет текст на серверы без шифрования.
На Wayland уязвимости нет: система блокирует чтение чужих выделений, но и «scan» не работает.
Сопровождающий Debian Сяо Шэн Вэнь считает поведение допустимым: функции можно отключить. Лефевр возражает: конфиденциальные возможности не должны быть активны по умолчанию.
Описание пакета упоминает «scan», но не говорит, что YouDao — онлайн-сервис. Сяо предложил вынести сетевые плагины в отдельный пакет, но сомневается в необходимости.
Аналогичные проблемы сообщались в 2009 и 2015 годах; тогда отключили сетевые словари по умолчанию, но плагин YouDao (добавлен в 2016) игнорирует эту настройку.
Комментарии (285)
- Пакет StarDict по умолчанию отправляет выделенный текст на китайские серверы по нешифрованному HTTP.
- Мейнтейнер Debian отмахнулся: «в описании пакета всё написано, RTFM».
- Пользователи возмущены: словарь можно было сделать полностью локальным (≈ 400 МБ), а поведение — опциональным.
- Уязвимость годами игнорировалась, баг-репорты закрывались как «небаг».
- Сообщество требует исключить StarDict из репозиториев и пересмотреть политику мейнтейнеров.
Show HN: Play Pokémon to unlock your Wayland session
wlgblock — экран-блокировка в стиле Game Boy для Wayland.
Проект AdoPi: простой скрипт на Bash, который запускает «игру»-заставку и требует пароль для разблокировки.
- Зависимости:
swaylock
,grim
,slurp
,wl-clipboard
,imagemagick
,fzf
,bash
. - Установка: клонировать репозиторий, выполнить
make install
. - Использование:
wlgblock
или горячая клавиша в Sway/i3.
Скрипт делает снимок экрана, накладывает пиксель-фильтр «Game Boy», запускает swaylock
с этим изображением и ожидает ввода пароля.
Комментарии (41)
- Пользователи радуются, что проект-игра на Wayland показывает, что экосистема уже способна на «тяжёлую» кастомизацию и работает лучше, чем споры последних пяти лет.
- Многие удивлены, что «игра-скринсейвер» появилась раньше обычного нормального screensaver'а для Wayland.
- Скептик признал: блокировка экрана в Wayland действительно работает лучше и логичнее, чем в X.
- Разработчик anajimi уже обещает попробовать сделать полноценный screensaver на ext-session-lock.
- В KDE 82 % сессий уже Wayland; Sway и labwc активно используются, но NVIDIA всё ещё вызывает проблемы — «переходи на AMD».
Quickshell – building blocks for your desktop 🔥 Горячее
Quickshell — набор инструментов для создания панелей, виджетов, экранов блокировки и других элементов рабочего стола на QtQuick. Работает с любым Wayland-композитором или оконным менеджером.
Быстрый цикл разработки
Изменения подхватываются сразу после сохранения.
Простой язык
Конфигурация на QML с поддержкой LSP.
FloatingWindow {
Timer {
id: timer
property bool invert: false
running: true; repeat: true; interval: 500
onTriggered: timer.invert = !timer.invert
}
color: timer.invert ? "purple" : "green"
}
Интеграции
Wayland, Hyprland, PipeWire, X.Org, Sway и другие.
Примеры конфигураций
Установка • Документация • Changelog
Разработка: outfoxxed, xanazf и сообщество
Matrix • Discord
Комментарии (46)
- Участники хвалят Quickshell за скорость прототипирования и модульность, но спорят о QML: кто-то считает его лучшим выбором для GUI, кто-то — неудобным для больших проектов.
- Поддержка ОС: Linux/BSD сейчас бесплатны, macOS/Windows планируются только в платной версии; Wayland поддерживается лучше X11.
- Сообщество делится ссылками: GitHub-зеркалом для RSS-уведомлений, готовым конфигом dankmaterialshell и похожим проектом BeaverGrow.
- Видео-демо вызвало вопросы о производительности: у кого-то тормозит, у кого-то идёт плавно; вероятнее всего, проблема на стороне браузера/железа.
Window Activation
Как приложение получает фокус в Wayland
В X11 окно могло «захватить» внимание само; в Wayland это невозможно. Приложение может лишь получить фокус, если композитор одобрит запрос. Для этого используется протокол XDG Activation.
- Приложение-источник (например, мессенджер) запрашивает у композитора токен активации.
- Токен передаётся целевому приложению через переменную окружения
XDG_ACTIVATION_TOKEN
или полеactivation-token
в DBus. - Получив токен, приложение просит композитор активировать своё окно.
- Композитор проверяет подлинность: наличие токена, серийный номер события, ID приложения и т.д. При сомнении запрос отклоняется.
Готовые решения в KDE/Qt
QWindow::requestActivate()
сама использует токен из окружения или запрашивает новый.OpenUrlJob
,ApplicationLauncherJob
,KDBusService
уже умеют работать с токенами.
Благодаря этому большинство KDE-приложений работают без изменений.
Почему X11 не идеален
У KWin-X11 была «защита от кражи фокуса», но она опиралась на эвристики и могла быть обойдена.
Тестируем правильность
В свежем KWin включите «Extreme»-режим предотвращения кражи фокуса: окно поднимется только при валидном токене. За последние дни исправлены:
- Dolphin терял токен при новом запуске;
- KRunner, Kickoff и прочие плазмоиды не запрашивали токен;
- LayerShell-Qt теперь читает переменную и запрашивает активацию при показе;
- привилегированные клиенты (Plasma, KGlobalAccel) могут получать токены;
- нажатия модификаторов больше не считаются «пользовательским взаимодействием».
Спецификация DBusRunner получила метод SetActivationToken
, который теперь используют Baloo и KClock для корректного открытия файлов в уже запущенных окнах.
Комментарии (124)
- Пользователи рады, что Wayland запрещает приложениям «воровать» фокус, в отличие от X11/macOS/Windows, где авто-обновления и всплывающие окна прерывают работу.
- Некоторые жалуются: из-за новых правил пароли и другие важные диалоги прячутся под окнами, пока не всё ПО перейдёт на XDG Activation.
- Дискуссия о том, кто должен решать передачу фокуса: само приложение, оконный менеджер или пользователь.
- Название «Window Activation» ввело в заблуждение: многие ждали статью о лицензировании Windows.
Комментарии (76)
This is, quite unironically, the type of development I wish Apple would pursue for macOS. It's 2025 and focus stealing is still a topic we can have a serious conversation about. Why? "I want to use my computer without random popups accidentally eating my keyboard commands and doi