Wine + Microsoft Access + Compartir Windows

Wine + Microsoft Access + Compartir Windows

Tengo una aplicación VB6 ejecutándose en Wine. Esa aplicación utiliza una base de datos mdb, pero el archivo mdb está en un recurso compartido de Windows (Iomega StorCenter). Monto el recurso compartido a través de fstab y asigno la letra "d:" a través de Wine. Cuando ejecuto la aplicación, se genera una excepción porque no puede bloquear el archivo mdb (crear un archivo de bloqueo).

La línea fstab que uso es:

//IomegaStorCenter/public/Server /home/jmm/Iomega cifs,uid=wine,gid=users,fmask=7777,dmask=0777,iocharset=utf8,codepage=unicode, unicode 0 0

¿Alguien sabe cómo puedo montar el recurso compartido para evitar la excepción?

Respuesta1

Al igual que con umasky sonfmaskdmaskrestadodesde 777 para conseguirte los permisos vigentes. Entonces, en realidad estás montando tu parte como 000, lo que significa "nadie puede leer, escribir o ejecutar".

Además, ¿realmente necesitas tantas opciones de configuración personalizadas? Si esta es la computadora de tu hogar, te sugiero esto:

//IomegaStorCenter/public/Server /home/jmm/Iomega cifs defaults,uid=jmm,gid=plugdev,umask=022

jmmSupongo que es su nombre de usuario. Si no, cámbielo en consecuencia. También yofuertementete recomiendonopara montar unidades en su directorio de inicio. Como root, cree /mnt/iomegaun directorio y luego móntelo allí. Si lo desea, cree un enlace simbólico en su carpeta de inicio que apunte allí. El comando en la terminal sería:

sudo mkdir -p /mnt/iomega

Y la entrada fstab sería entonces:

//IomegaStorCenter/public/Server /mnt/iomega cifs defaults,rw

Solucionar problemas

Si esto no funcionó, intentémoslo desde el principio, sólo para comprobar si hay algún cabo suelto:

1: elimine todas las líneas de fstab relacionadas con IomegaStorCenter. Reiniciar

2 - Use Nautilus > Red > Red de Windows > Grupo de trabajo (o como se llame su grupo de trabajo) y vea si se muestra la unidad. Haz doble clic en él.

3 - ¿Pide nombre de usuario/contraseña? ¿Los conoces? ¿Funcionan y nautilis muestran las carpetas compartidas? (nota: esto esnosu nombre de usuario/contraseña de Ubuntu. Es elcompartirnombre de usuario/contraseña, que quizás haya configurado previamente en IomegaStorCenter

4 - Aún usando Nautilus, ¿puedes arrastrar y soltar y crear archivos allí? ¿Editarlos, cambiarles el nombre, eliminarlos, etc.?

En caso afirmativo, entonces fstab es su único problema. De lo contrario, deberá configurar IomegaStorCenter antes de continuar, hasta que pueda acceder correctamente a través de Nautilus.

5 - Desmonta la unidad en Nautilus (usa el botón "Expulsar")

Ahora en la terminal (se puede hacer a través de GUI/Nautilus, pero el comando copiar y pegar en la terminal es más rápido y menos propenso a errores):

6 - elimina el antiguo punto de montaje.ASEGÚRESE DE QUE ESTÉ VACÍO ANTES DE HACER ESTO

rmdir /home/jmm/Iomega 

7 - crea el nuevo punto de montaje y un enlace simbólico desde la ubicación anterior a la nueva

sudo mkdir -p /mnt/iomega
ln -s /mnt/iomega /home/jmm/Iomega

8 - Agregue una (pero no ambas) de estas líneas a fstab, dependiendo de si su recurso compartido necesita contraseña o no:

//IomegaStorCenter/public/Server /mnt/iomega cifs defaults,rw,username=YOURSHAREUSER,password=YOURPASSWORD 0 0
//IomegaStorCenter/public/Server /mnt/iomega cifs defaults,rw 0 0

9 - Montarlo, para probar si enty está bien:

sudo mount /mnt/iomega

10 - Abre nautilus, accede a /mnt/iomega e intenta copiar algunos archivos. Editar, eliminar, etc.

Si funciona, genial. De lo contrario, intente copiar archivos usando la terminal y pegue aquí el mensaje de error. también escriba ls -la /mnt/iomegay sudo mountpegue los resultados.

11 - Ahora vaya a la configuración de Wine y asegúrese de que D: apunte a la nueva ubicación correcta, /mnt/iomega. Utilice también nautilus para buscar /home/jmm/.wine/dosdevices/d:y ver si es la ubicación correcta.

12 - Prueba tu aplicación VB y sé feliz :)

Respuesta2

Utilice esta línea en su fstab

//server/share /mnt/mountname cifs username=server_user,password=user_password,iocharset=utf8,mode=0777,dir_mode=07‌​77 0 0

Dónde

server = your server that you are trying to access
share = mapped share on that server
/mnt/mountname = any folder that you created with sudo /mnt/<folder_name> (or any folder in your home that you can access
username = the name of the user on that server that can access the mount
password = the password for that user

Después de eso, puede realizar la prueba con sudo mount -a, si no obtiene ningún error, puede reiniciar de forma segura para encontrar sus recursos compartidos montados en /mnt/<folder_name>.


Para usar un archivo de credenciales en lugar de los parámetros de nombre de usuario y contraseña en el fstab, puede crear un archivo con esas 2 líneas para que su nombre de usuario y contraseña no se muestren explícitamente en el fstab.

sudo nano /etc/cifspwd

Añade estas líneas al archivo.

username=<username on server>
password=<password for that username>

Presione las teclas Ctrl+x y cuando se le solicite presione y para guardar el archivo.

Asegúrelo con

sudo chmod 600 /etc/cifspwd

Utilice esta línea en lugar de la anterior.

//server/share /mnt/mountname cifs credentials=/etc/cifspwd,iocharset=utf8,mode=0777,dir_mode=07‌​77 0 0

Después de esto, será seguro reiniciar y su montaje debe estar montado y sus datos asegurados.

información relacionada