LINUX.ORG.RU

Обнаружил странное поведение wine

 ,


0

1

С некоторых пор после чего-то запущенного через Steam, у меня другие вайновые приложеньки вываливались в белый экран. Сегодня пришёл к выводу, что это связано с правами доступа на /dev/snd/controlC0 Просто strace-нув одно, я увидел сегодня в выхлопе

open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 76
fcntl64(76, F_SETFD, FD_CLOEXEC)        = 0
ioctl(76, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0x33d6fc) = 0
close(76)                               = 0
semget(0x56a4d7, 1, IPC_CREAT|0660)     = 1170931714
semctl(1170931714, 0, IPC_64|IPC_STAT, 0x33db6c) = 0
semctl(1170931714, 0, IPC_64|IPC_SET, 0x33db6c) = -1 EPERM (Operation not permitted)
Вайн запускается у меня через sudo от имени другого пользователя, но он добавлен в группу audio. Права на файл были
crw-rw---- 1 root audio 116, 6 авг.   1 12:26 /dev/snd/controlC0
Сделал
chmod o+r /dev/snd/controlC0
И всё внезапно заработало.

Deleted
Ответ на: комментарий от uspen

Амм… Я собссно хотел сначала убедиться, что это вайновый баг.

Deleted
()

Взял на заметку...

nihil ★★★★★
()

upd

Даже если strace показывает то же самое, а права уже поправлены, поправьте их ещё раз, в моём случае это помогает.

Deleted
()
Ответ на: комментарий от Deleted

Это прекрасно, а о какой?

ХЗ. Но, судя по:

semctl(1170931714, 0, IPC_64|IPC_SET, 0x33db6c) = -1 EPERM (Operation not permitted)

кто-то забыл где-то семафор (Steam?). Если хочешь разобраться, попробуй вернуть /dev/snd/controlC0 права, с которыми программы не работают, посмотри на вывод

ipcs -s
и попробуй запустить неработающую программу через
sudo -E
.

Или втупую:

ipcrm -s 1170931714
tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

кто-то забыл где-то семафор

А-а, вот оно что.

Steam?

Бинго.

ipcrm -s 1170931714

Это помогает. А какие переменные из окружения надо сохранить? Я добавляю в env_keep только DISPLAY и XAUTHORITY, env_reset отключать совсем как-то не хочется.

Deleted
()
Ответ на: комментарий от Deleted

ipcrm -s 1170931714

Это помогает.

Тогда среда sudo не причем. Похоже, Steam пускается от пользователя X, создает семафор, доступный только этому пользователю, и не удаляет его после завершения.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.