jstaf / onedriver

A native Linux filesystem for Microsoft OneDrive
GNU General Public License v3.0
1.92k stars 96 forks source link

GUI Launcher not working #254

Open p644gh2 opened 2 years ago

p644gh2 commented 2 years ago

Hello, I'm running Linux Mint v19.3 (with all latest updates) I attempting to implement the onedriver program and I run into the following problem. I successfully installed it on my newly installed test VM running Mint v20.3. It worked great ! Love to get it working on my main PC. Please help. Thanks

PROBLEM: I ran it from Application launcher, a blank window appeared with + sign on left of screen . When I clicked on it, it asked me to choose mount point. I choose mount point and after it it automatically closes. I tried many times from the GUI same result.

When I execute the launcher" onedriver-launcher" from the commandline, I get the following error.

ERROR: me@ssd-mint ~ $ onedriver-launcher Gtk-Message: 15:34:52.599: GtkDialog mapped without a transient parent. This is discouraged.

(onedriver-launcher:10575): ERROR : 15:34:55.431: Could not create systemd dbus proxy: Error calling StartServiceByName for org.freedesktop.systemd1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1

Trace/breakpoint trap (core dumped) me@ssd-mint ~ $

jstaf commented 2 years ago

Does systemctl status --user work? I recall CentOS 7 having an issue where systemd user services weren't supported, and Ubuntu 18.04 (what Linux Mint 19.3 is based on) might have the same issue.

p644gh2 commented 2 years ago

Yes it does. See output below. Can you think of any other suggestions or log output you may need to assist in diagnose this ? Thank you for your support and assistance.

me@ssd-mint ~ $ systemctl status --user ● ssd-mint State: running Jobs: 0 queued Failed: 0 units Since: Tue 2022-05-10 07:06:05 EDT; 2min 11s ago CGroup: /user.slice/user-1000.slice/user@1000.service └─init.scope ├─3983 /lib/systemd/systemd --user └─3984 (sd-pam) me@ssd-mint ~ $

p644gh2 commented 2 years ago

Additional information and some progress. Using these Commandline install syntax with this version. ~/Downloads $ apt install ./onedriver_0.12.0-1_amd64.deb ~/Downloads $ onedriver /home/me/MyOneDrive

If I use the above to install onedriver for this version from the commandline it does prompt for Microsoft creds and logs me in and mounts the OneDrive files and folders !!

However the terminal window stays open as I open or access files or copy and browse the Onedrive in the Nautilus GUI. The data scrolls by in the terminal as I move thru the folders and files. As soon as I close the terminal the drive stops working and the mount point is broken. The GUI install does not work on my Mint v19.3 install, it never prompts for MS credentials.

Not sure if any of this additional information helps diagnose this for me but thought I would share what I discovered. Thank you.

jstaf commented 2 years ago

Hmmm, okay - it's not what I was thinking re: systemd user services. One thing you can try is try compiling onedriver from source. I rewrote the GUI since version 0.12.0 was released and the newer version is much better.

To compile from source, first uninstall onedriver sudo apt remove onedriver and then follow the instructions here:

# clone this repository
git clone https://github.com/jstaf/onedriver
cd onedriver

# install dependencies
sudo apt update
sudo apt install golang gcc libwebkit2gtk-4.0-dev libjson-glib-dev pkg-config git \
    rsync devscripts debhelper build-essential pbuilder
sudo pbuilder create --distribution bionic

# compile a .deb package from source (takes awhile)
make deb

# install the onedriver .deb file that is created

However the terminal window stays open as I open or access files or copy and browse the Onedrive in the Nautilus GUI. The data scrolls by in the terminal as I move thru the folders and files. As soon as I close the terminal the drive stops working and the mount point is broken.

This behavior is expected because as soon as you close the terminal, it terminates the process running there (that was the filesystem :slightly_smiling_face: ).

ceejayemm commented 2 years ago

Hi, I have installed OneDriver 0.12.0 on MX Linux 21. If I run OneDriver from the system menu I can select the folder for OneDriver to use but then nothing else happens. From a terminal session I have run:

onedriver -n /home/ceejayemm/onedriver

Then I can access the folder /home/ceejayemm/onedriver and see my OneDrive files without any problem - but I have to leave the terminal session open.

If I run: $ onedriver-launcher

I get:: (onedriver-launcher:10541): ERROR : 10:08:24.474: Could not create systemd dbus proxy: Error calling StartServiceByName for org.freedesktop.systemd1: Process org.freedesktop.systemd1 exited with status 1

Trace/breakpoint trap

Running : $ systemctl status --user

Gives: Failed to read server status: Process org.freedesktop.systemd1 exited with status 1

Will the suggestion above to build OneDriver from source help resolve this problem or do I have a different variation on this problem ?

Chris

ceejayemm commented 2 years ago

Answered my own question. MX Linux does not have systemd enabled by default. Enabling systemd has now allowed me to open Onedriver via the GUI and having done so I can access my OneDrive folders/files. However I still cannot get Onedriver to mount the required OneDrive folder at system start up. It also seems that an apt update has updated my Onedriver installation to 0.12.1. Any clue as to how to resolve this final problem.

Thanks

Chris

ceejayemm commented 2 years ago

Hi again. Getting good at this 'solving my own problem' thing :-) It turns out that the problem, on my system at least, is that the Mount/Unmount slider switch is very difficult to see. Having figured out which way the slider needs to be set to mount on login I have now got the Onedriver folder being mount at login exactly how I need it.

I will raise a new ticket to cover this issue.

Chris