Linux wine all users

Linux wine all users

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

@adm ALL=NOPASSWD: /home/_general/autostart/winechown.sh
chown -R spectrez "/home/_general/.wine"

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

madesta Сообщения: 1736 Зарегистрирован: 11 июн 2017, 21:47 Решено: 21 Откуда: BY Благодарил (а): 73 раза Поблагодарили: 370 раз Контактная информация:

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

Пример для пользователя 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

SpectreZ Сообщения: 13 Зарегистрирован: 07 мар 2022, 22:24 Благодарил (а): 6 раз Поблагодарили: 3 раза Контактная информация:

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

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 удалить папку второго пользователя, вместо нее сделать символическую ссылку на папку первого.

Источник

Allowing other users to use wine

I am using ubuntu 15.04. I have installed wine in the superuser account so that I can use MS office 2010. But I can’t use it when I login the other normal user account. Is is possible to set the applications to be for all users, so that I need not install them again the in other accounts?

Читайте также:  About linux mint debian

If the file permissions are set for other=rx on the directories containing these applications and the executables of the applications it will work. Could you describe the location of some of these applications so that a more complete answer can be provided?

For example, I’ve installed wine in superuser so that I can use MS office 2010. But in the normal user account I can’t see wine at all. Even in the superuser login, I have no idea where the wine directory and files are.

Wine places content into the user’s home directory. If you’re going to share a wine instance, you should probably put the .wine folder in a common location, then set WINEPREFIX to that location before trying to launch an application. All users that need to access it should then belong to a similar group, or set group to rxw for those files. If this is the question you want answered, update your question and I (or someone else) can provide a detailed answer.

Did you actually install wine to the root user’s home directory (that is, putting the executable for wine and related binaries in the /root folder,) or do you mean you used wine to install applications as root?

2 Answers 2

I’m going to assume you installed wine via apt-get from the typical repositories or that you added a ppa for wine and installed it from there or generally just have wine installed such that any user can run it. If you have some other setup, add a comment and I’ll update my post.

So, here’s what needs to be done:

  1. You need to put the files somewhere that all the users that will be running wine can read/write.
  2. You need to set the permissions on the directories and files so that all the users that will be running wine can use them.
  3. You need to update any paths that refer to the old location

For 1 — You can just copy the files to a common location, such as /opt/windows . To do this: sudo cp -r /root/.wine /opt/windows

For 2 — If you have more than one user that will be using the various windows applications, you will need to make sure they are all part of a common group, or if you only have one user you can set the owner to that user.

Option a: If you have one user, just change the owner recursively for the directory. This is easier, so I’ll describe this first:

sudo chown -R $USER:$USER /opt/windows 

Option b: If you have multiple users, then you need to create a new group, change the ownership of the directory to the new group, set file permissions, and then log out and back in so the new group settings take effect. don’t do this if you used the previous method of just one user.

sudo groupadd wine sudo usermod -a -G wine $USER sudo chgrp -R /opt/windows sudo chmod -R g+rw /opt/windows sudo find /opt/windows -type d | while read DIR ; do sudo chmod g+rwx "$" ; done #this is where you would log out and back in. 

Also, whenever you add a new user to the system and that user will be using wine, add them to the group: sudo usermod -a -G wine NEW_USER

Читайте также:  Linux системное программирование pdf

For 3 — When you run wine it puts files in ~/.wine/ . Some of these files contain absolute paths. Since you’ve moved /root/.wine to /opt/windows , these paths need to be updated. You can manually update these by using winecfg and updating the «Links to» entries for all the folders under the «Desktop Integration» tab. If you created a new group for the user, then you need to have logged out and back in before you do this. To do this, set the prefix for wine and run winecfg:

WINEPREFIX=/opt/windows winecfg 

Once the paths have been updated, click okay and you should be ready to run any of the applications as a normal user.

Before you run any applications, you will need to set WINEPREFIX to /opt/windows . If there are any «.desktop» files for applications you have installed, you need to modify them to include the WINEPREFIX. You could also put export WINEPREFIX=/opt/windows in your .bash_profile or .bashrc so you don’t have to manually specify it at the command line.

If you can update your question with a description of how you launch any of the installed applications I can further cater the answer.

Also, as an aside, when I install new applications through wine, I tend to use a different WINEPREFIX for each application. That way if they have strange settings or incompatible dependencies, I don’t inadvertently break old applications when installing new applications. Then, for dependencies, I use winetricks to fetch and install.

Источник

Wine для нескольких пользователей.

wine

Сегодня в статье поговорим о том, как можно настроить wine для использования его несколькими пользователями в вашей системе Linux.

Для примера я буду использовать легковесный дистрибутив XUbuntu, для всех производных операционок, таких как Ubuntu, Debian и т.д. инструкция будет идентичной.

Для начала установим wine на Вашу систему. Как это сделать я описывал в данной статье.

Будем считать что wine у вас установлен, для первого запуска достаточно набрать следующую команду:

Программе потребуется некоторое время, а также недостающие зависимости, такие как mono и geckoo . Соглашаемся со всеми установками. После установки всех недостающих программ в директории пользователя появится директория ~/.wine . Если вы ее не видите, то нажмите сочетание клавиш ctrl+h .

Настройка многопользовательского wine

Давайте перенесем нашу только, что созданную директорию в директорию /etc .

Создадим общую группу для всех наших существующих и будущих пользователей.

Добавим нашего пользователя в данную группу.

sudo usermod -a -G samba myuser

Назначим группу и пользователя на нашу директорию /etc/wine

sudo chown -R myuser:samba /etc/wine

Теперь создадим символическую ссылку на директорию из /etc/wine в директорию нашего пользователя.

ln -s /etc/wine /home/myuser/.wine

А также изменим права на директорию и файлы, чтобы только наш пользователь и группа могли читать и изменять файлы :

Читайте также:  Linux hosts allow all

Давайте теперь запустим нашу программу с помощью wine например regedit.exe

Да! Все запускается, но что если создать нового пользователя и не проходить заново установку и настройку wine, а использовать уже установленный и настроенный, со всеми программами которые нам нужны.

Если Вы попробуете просто создать символическую ссылку на директорию /etc/wine , то программы установленные для пользователя myuser не запуститься под новым пользователем . Потому-что wine требует права юзера на некоторые фалы в своей директории.

Например файлы system.reg и user.reg должны принадлежать только тому пользователю, от которого вы собираетесь работать с wine. А в нашем случае владельцем является myuser

Для того чтобы обойти данное ограничение не достаточно присвоить SGIT и SUID (6770) – права на запуск файлов и директорий от пользователя владельцем которого он является. Необходимо, как я уже сказал, быть владельцем файла. Сейчас данные файлы должны принадлежать пользователю myuser. Но как же сделать multiuser wine (многопользовательский wine) спросите вы. Да все очень просто. Надо всего лишь переместить файлы system.reg и user.reg в директорию юзера, того пользователя, которому хотите установить wine и назначить владельцем этих файлов данного пользователя. Давайте проделаем эти шаги.

Этапы настройки многопользовательского wine

sudo usermod -a -G samba myuser2
sudo mkdir /home/myuser2/.wine
sudo chmod -R 6770 /home/myuser2
sudo chown -R myuser2:myuser2 /home/myuser2
  • Создаем символические ссылки на директории /etc/wine/drive_c и /etc/wine/dosdiveces в директорию wine нового пользователя
ln -s /etc/wine/drive_c /home/myuser2/.wine/
ln -s /etc/wine/dosdiveces /home/myuser2/.wine
cp /etc/wine/ /home/myuser2/.wine/
chown myuser2:myuser2 /home/myuser2/.wine/

После давайте попробуем запустить программу regedit от нашего нового пользователя myuser2. Для этого залогинемся под пользователем и выполним программу:

Как видим теперь программа не выдает ошибку на запуск и прекрасно работает, как от нашего пользователя, так и от нового.

Ошибки wine

Если при попытке запуска программы wine ругается и выдает следующее сообщение:

wine: /home/myuser2/.wine is not owned by you

В этом случае необходимо назначить правильные права на директорию ~/.wine данного пользователя.

Заключение

Подведем итог: Пользователь myuser2 может запустить все программы установленные нашим myuser пользователем. Также работа wine теперь осуществляется от всех пользователей в системе. Мы не создаем дубликаты директорий wine для каждого пользователя.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.

RSS

Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

wine

В этой статье рассмотрим установку wine на Ubuntu 18.04 и её производные, например такие как Debian 9 или Linux Mint Читать

wine

Сегодня поговорим о том, как запускать Windows программы на операционных системах Ubuntu/Debian с помощью Wine.

Источник

Оцените статью
Adblock
detector