Страница 1 из 1

Как лучше настроить wine для нескольких пользователей?

Добавлено: 07 мар 2022, 22:41
SpectreZ
Приветствую! Использую в системе двух пользователей, обоим нужна возможность работы с некоторыми программами через wine (программы для обоих пользователей одинаковые). Папка /.wine/drive_c весит около 2гб, и возможно станет еще больше, не хочу дублировать её для каждого пользователя. Кроме того, папка /.local/share/wineprefixes тоже около 1гб. Я решил вынести их за пределы домашней директории пользователя и сделал символические ссылки. Но теперь explorer wine не открывается, а при попытке сохранить файл из какой-либо программы, запущенной через wine, не отображаются папки - видимо у wine нет доступа.
Итак, вопрос - как лучше было бы настроить такую конфигурацию, чтобы оба пользователя использовали общие настройки wine?

Конфигурация ОС: Linux Mint 20.3 Cinnamon.
Wine 7.0

Как лучше настроить wine для нескольких пользователей?

Добавлено: 07 мар 2022, 23:07
madesta
SpectreZ писал(а):
07 мар 2022, 22:41
видимо у wine нет доступа
Естественно, потому что wine ставится в папку пользователя .wine. Соответственно, разрешения на эту папку только для текущего пользователя и группы этого пользователя. Включите в менеджере файлов отображение скрытых файлов, правым кликом на папке .wine, вызовите вкладку права и увидите сами.
Когда вы выносите папку куда-то, а вместо неё указываете символические ссылки, то убедитесь в том, что в месте выноса у вас на вынесенную папку сохранились необходимые права для пользователя и его группы. Если их нет, то установите.
Чтобы обеспечить доступ пользователя user2 к данным user1 можно попробовать включить пользователя user2 в группу пользователя user1: Система - Пользователи и группы. Найти группу user1 и, по-моему, поставить галочки в полях user1 и user2. А для группы дать "чтение и запись".

Как лучше настроить wine для нескольких пользователей?

Добавлено: 08 мар 2022, 09:33
rogoznik
Ну или задать на вынесенный каталог права 777 рекурсивно

Как лучше настроить wine для нескольких пользователей?

Добавлено: 08 мар 2022, 15:04
SpectreZ
Папка drive_c, на которую я сделал символическую ссылку, принадлежит пользователю root и группе adm. Оба пользователя входят в группу adm. Права я поставил всем на чтение и запись, но проблема все равно остается.
Если делать ссылку на всю папку .wine, то wine при запуске пишет, что директория мне не принадлежит и отказывается запускаться. Видимо wine требует, чтобы владелец у всех файлов в папке .wine был тот, кто его запускает.
Есть идея сделать скрипт для смены владельца папки .wine, который запускался бы при входе пользователя в систему. Но для этого надо вводить пароль для команды sudo. Я читал про sudoers, пишут что так можно разрешить запуск команды без ввода пароля, но пока не разобрался. Добавил через sudovi такую строку:

Код: Выделить всё

@adm ALL=NOPASSWD: /home/_general/autostart/winechown.sh
В самом файле winechown.sh вызываю смену владельца папки:

Код: Выделить всё

chown -R spectrez "/home/_general/.wine"
Но при попытке запуска от пользователя spectrez, пишет что операция не позволена. Если пишу sudo ./winechown.sh, после ввода пароля скрипт работает, права меняет.

Как лучше настроить wine для нескольких пользователей?

Добавлено: 08 мар 2022, 16:13
madesta
SpectreZ писал(а):
08 мар 2022, 15:04
пишут что так можно разрешить запуск команды без ввода пароля
Пример для пользователя minter и скрипта kernels.sh:
sudo xed /etc/sudoers и вписать
minter ALL=NOPASSWD: /home/minter/Tools/scripts/modules/kernels.sh
Далее нижеприведенная команда будет выполняться без запроса пароля:
sudo /home/minter/Tools/scripts/modules/kernels.sh

P.S. Если при редкактировании sudoers что-то "напортачено" и вываливается ошибка синтаксиса sudoers, то для поправки ситуации запускать sudo visudo

Как лучше настроить wine для нескольких пользователей?

Добавлено: 09 мар 2022, 20:24
SpectreZ
madesta, спасибо, так скрипт запустился, у меня была ошибка при запуске - я писал ./home/_general/autostart/winechown.sh, а нужно было sudo /home/_general/autostart/winechown.sh
Но, возвращаясь к основной задаче, я нашёл причину проблем. Wine не хватало каких-то файлов в папке drive_c/users/[имя пользвоателя]. Насколько я понял, при запуске winecfg, создается эта папка с необходимыми настройками для текущего пользователя. В моем случае, настройки были только для одного из пользователей. Я сделал символическую ссылку на существующую папку и переименовал её.

В итоге пока решение вижу таким:
1. После установки wine запустить winecfg для каждого пользователя, создастся папка .wine в домашних директориях.
2. Для одного из пользователей настроить wine (установить программы и т.д.).
3. Перенести папку .wine/drive_c в какую-нибудь общую папку для всех пользователей, задать права, чтобы все могли с ней работать, сделать символические ссылки на неё в папках .wine в домашних директориях пользователей.
4. В папке drive_c/users удалить папку второго пользователя, вместо нее сделать символическую ссылку на папку первого.

Как лучше настроить wine для нескольких пользователей?

Добавлено: 10 мар 2022, 01:50
madesta
Отпишитесь как сработает, интересно ведь - вдруг пригодится. :read4:

Как лучше настроить wine для нескольких пользователей?

Добавлено: 10 мар 2022, 16:17
njidheobnrgk
А не проще сделать вторую копию программы в эмуляторе?

Как лучше настроить wine для нескольких пользователей?

Добавлено: 10 мар 2022, 16:52
WWolf
SpectreZ писал(а):
09 мар 2022, 20:24
В папке drive_c/users удалить папку второго пользователя, вместо нее сделать символическую ссылку на папку первого.
с учётом того, что внутри пользователя симлинки на личные папки идут, такое себе решение дать другому доступ в чужие папки...
да и
SpectreZ писал(а):
09 мар 2022, 20:24
Перенести папку .wine/drive_c в какую-нибудь общую папку для всех пользователей, задать права, чтобы все могли с ней работать, сделать символические ссылки на неё в папках .wine в домашних директориях пользователей.
получается что все работают с одними настройками...

Правильнее наверное было от первого пользователя создать префикс в /opt выставить права. Второму симлинк .wine на префикс в /opt и запустить winecfg. Или так же префикс на opt, без симлинка. Поидее должен будет создаться второй пользователь в префиксе со своими настройками, но с общими программами...

Как лучше настроить wine для нескольких пользователей?

Добавлено: 10 мар 2022, 21:21
SpectreZ
madesta писал(а):
10 мар 2022, 01:50
Отпишитесь как сработает
Пока работает, и в целом меня устраивает такой вариант, когда настройки у пользователей wine общие - в моем случае это удобно. У меня один пользователь - "домашний", а второй - "рабочий", пользуюсь общими программами wine. Основная задача была не расходовать лишнее место.
WWolf писал(а):
10 мар 2022, 16:52
Правильнее наверное было от первого пользователя создать префикс
Возможно да, я пока не разобрался с префиксами, может быть со временем приду к такому варианту.