Google Drive папка для Linux

Введение

Существуют различные дистрибутивы Linux. В Xubuntu используется среда рабочего стола Xfce с файловым менеджером thunar (фунар). Целью данного туториала является описание способа подключения Google Диска к фунару. Этот же способ с небольшими доработками может быть использован и для подключения Google Диск папки у серверного дистрибутива вроде Ubuntu server.

А вот для очень популярной Ubuntu используется среда рабочего стола Gnome с файловым менеджером GNOME Files, куда еще в 2015 году интегрировали возможность использовать свой Google Диск непосредственно из приложения GNOME Files. Так что кто хочет всё и сразу, ставьте Ubuntu (лично у меня комп не тянет) и не читайте дальше.

Перейдем к созданию Google Drive папки

1) Установим

sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt update
sudo apt install google-drive-ocamlfuse

2) Создаем директорию, куда будем монтировать. Пусть директория называется gd и лежит в каталоге пользователя (символ тильда ~ означает домашний каталог текущего пользователя).

sudo mkdir ~/gd

Назначим права доступа на директорию

sudo chmod -R 0777 ~/gd

3) Теперь необходимо из-под пользователя (не sudo) выполнить команду

google-drive-ocamlfuse ~/gd

Вы будете перенаправлены в браузер для авторизации (вариант без браузера тут). По ее завершении Google у вас спросит разрешить управлять вашим диском – подтверждаем.

Кажется готово: можно перейти в директорию ~/gd и увидеть там свои файлы из облака.

После перезапуска системы ваша папка на компьютере окажется пуста, потому что не настроено автоматическое монтирование.

4) Настроим автоматическое монтирование с помощью systemd. Необходимо создать файл с именем, пусть google-drive.service по адресу /etc/systemd/system/ Сделать это можно разными способами, я предпочитаю через редактор nano. То есть мы открываем в nano файл на редактирование и через ctrl+c ctrl+v наполняем его. Хотя делать то же можно и через cat, тогда содержимое файла возможно передать не через буфер обмена, а прямо указать в терминале, очень удобно для скриптов. Далее я покажу и этот способ, а пока (создадим и) откроем файл через nano.

sudo nano /etc/systemd/system/google-drive.service

И пропишем в файле

[Unit]
Description=FUSE filesystem over Google Drive
After=network.target

[Service]
User=a
Group=a
ExecStart=google-drive-ocamlfuse -label default ~/gd
ExecStop=fusermount -u ~/gd
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target
Шаг 4) можно было сделать через cat вот так:
cat <<EOF > /etc/systemd/system/google-drive.service
[Unit]
Description=FUSE filesystem over Google Drive
After=network.target

[Service]
User=a
Group=a
ExecStart=google-drive-ocamlfuse -label default ~/gd
ExecStop=fusermount -u ~/gd
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target
EOF

5) Собственно запускаем программу google-drive. Она будет оставаться запущенной до ближайшей перезагрузки.

sudo systemctl daemon-reload 
sudo systemctl start google-drive

6) Чтобы программа google-drive делала start at boot, а не отваливалась после перезагрузки, нужно как сказал в комментариях @Anubis_I

sudo systemctl enable google-drive 

Теперь на компьютере будет папка Google Диска и при включении она будет автомонтироваться. Кстати ocamlfuse поддерживает возможность использования нескольких аккаунтов.

Дополнительные материалы

Аналогичный туториал другими словами тут.

Еще один способ подключения Google Drive в Xubuntu.

Туториал как подключить Google Диск через fstab

@DungeonLords
01.09.2022 02:16 UTC
Первоисточник

Комментарии

@Anubis_I
31.08.2022 23:45 UTC
0

кажется, после перезагрузки директория опять будет пуста, тк сервис не стартонет. нужно добавить в автозапуск командой `sudo systemctl enable google-drive`

@DungeonLords
31.08.2022 23:48 UTC
0

Не помню чтобы делал

sudo systemctl enable google-drive

Или другие команды, не описанные в моем туториале. При этом комп я перезагружаю и папка gd наполнена содержимым гуглдиска.

Буду рад, если вы на своей машине попробуете описанную мной в туториале последовательность и сообщите о результатах.

06.09.2022 10:08 UTC
0

Не ну созданный сервис кто-то должен "включить" командой enable - сам себя он не включит. Это лишь запустит сервис до следующей перезагрузки:
sudo systemctl start google-drive

06.09.2022 12:15 UTC
0

Тем не менее, не помню, чтобы делал

sudo systemctl enable google-drive

А перед тем, как туториал писать, тестировал действия, а не вслепую писал. Да и в аналогичном туториале этого нет. Вы уж разберитечь пожалуйста, возьмите железо, повторите по моему туториалу и доложите о результатах. А то вы ведёте себя как @catBasilio

@select26
01.09.2022 05:14 UTC
+1

В приведенных примерах скрипта стоит пояснить, что в /home/a/gd

вместо "а" нужно указать логин пользователя.

Иначе для многих новичков это станет продолжением легенды "в линукс все не работает".

@
01.09.2022 06:52 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
@select26
01.09.2022 05:19 UTC
+1

И ещё вопрос: почему вы делаете акцент на Xubuntu и Xcfe?

Мне кажется это варианте зависит от используемого DE.

@
01.09.2022 06:54 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
@niko_zvt
11.03.2025 07:17 UTC
+1

`google-drive-ocamlfuse ~/gd`

Теперь данная команда не сработает, нужно явно получить OAuth2 Client ID и Secret в консоли Google API Console. Например, завести новую запись в секции Credentials > Create Credentials > OAuth client ID.

После нужно запустить команду google-drive-ocamlfuse -id <ваш-client-id> -secret <ваш-secret-code> ~/gd.