Thunderbird calendar with Etesync

Since my new install of Linux Mint this week and getting the brand new ver 115 of Thunderbird setup, I decided to try to use the calendar with my Etesync collections. On Kubuntu and Android, I used Calengoo and got it set up and it worked fine in Kubuntu 23.04. But I wanted an all-in-one-place solution if possible, and after getting all calendars setup via CalDAV/Etesync all was well. Until today where there are exclamations beside each calendar and adding a new event brought up an error.
image_2023-07-21_103322081
image_2023-07-21_103649484

I have never been able to confirm if starting etesync-dav is still necessary (they claim it is not when using Evolution in Linux), but I did install it in terminal and entered “etesync-dav” in terminal, but there is no confirmation, it does not return to prompt.

Rather than go into all of it here, if anyone can help figure out what the error means, why there are exclamation marks next to each calendar, it might help me understand how to resolve this. Any info needed, just ask.

UPDATE: After running etesync-dav with no confirmation and logging into my calendar on Etesync, I saw the changes from Thunderbird load, so that must mean it is syncing. I also then noticed the exclamation marks went away. I should not have to go to Etesync and refresh though, if that is what caused the refresh in Tbird and if I try to close the terminal after running the dav, it says if I do, it will end the process. So I do not know if it is working here on LM.

Thanks,
Sheila Flanagan

1 Like

Is Etesync-dav a daemon? ie should it be running all the time in background?
If so, you need to set up something to autostart it when you boot. That probably means some systemd command… I dont know systemd… someone else may be able to help with that

If you use etesync-dav & from the command line it will run in background, but you would have to do that every time you boot. You need an autostart.

1 Like

Below is a sample systemd service file - copy and paste into a file in /etc/systemd/system/etesync.service and edit it with the a script like I have, or the specific commands in the ExecStart= section and options with the correct path to the command preceding the command. If you need a sample script, just ask and I will copy one for you here.

[Unit]
Description=IPTables VPN Kill Switch
Wants=systemd-user-sessions.service systemd-logind.service
After=systemd-user-sessions.service systemd-logind.service

[Service]
Type=simple
ExecStart=/home/trekjunky/Documents/iptable-vpn.sh

[Install]
WantedBy=graphical.target

After you copy the file into /etc/systemd/system/ folder, the in a terminal run the command sudo systemctl enable etesync.service
You might need to run the sudo systemctl daemon-reload command first. Then start it to test it by typing sudo systemctl start etesync.service then to see the results type sudo systemctl status etesync.service Check for errors

3 Likes

@TrekJunky ,
Thanks Cane, that is what we needed
Neville

1 Like

I had closed the terminal process yesterday at some point for Etesync-dav and this morning noted, again, the exclamation marks after each calendar in Tbird. I opened up a terminal and typed the etesync-dav command (which again gave no comfirmation) and then clicked sync on each calendar and the mark went away. So obviously LM & Tbird DO need the service running to work.

I am going to attempt to follow @TrekJunky instructions to autostart.

Thanks @nevj
Sheila

1 Like

@TrekJunky I am going to attempt this today since I have now confirmed this must be running in order to sync Tbird calendars with Etesync. I may need further help, so will report back here.

This also gives me an idea on doing the same for my current issue in Barrier, where @abhishek mentioned it looks like the app is NOT creating the systemd service file.

Thanks so much!
Sheila

1 Like

Did it work?

@TrekJunky I started working on it (got interrupted, sorry) but first thing I did in trying to find where the target file "etesync-dav "was located, I ran across an existing etesync-dav.service file located in /usr/local/bin:

Description=Cal/CardDAV frontend for Etesync

[Service]
Type=simple
ExecStart=/usr/local/bin/etesync-dav

[Install]
WantedBy=default.target

Not sure about the WantedBy (what is default.target?) as this is new territory for me, but wondered if we get this one edited correctly, should we just copy it to /etc/systemd/system?

Thanks,
Sheila

1 Like

Don’t need to copy any of my code. Glad you found the service file for the etesync service.

First try this command: sudo systemctl enable etesync-dav.service

If it can’t find it, then type this command and retry the command above: sudo cp /usr/local/bin/etesync-dav.service /etc/systemd/system/

1 Like

was necessary as it didn’t find it. Then re-running the enable command got me this:

Created symlink /etc/systemd/system/default.target.wants/etesync-dav.service → /etc/systemd/system/etesync-dav.service.

So I would say that worked. Thanks a lot!
Now, is ‘Execstart’ an autostart each time the system reboots? Or do I have to run it?

Sheila

1 Like

When you reboot, that command will run during start up. The Created line is confirmation that it worked.
To test it, you can either reboot, or type this command sudo systemctl start etesync-dav.service

Once you have rebooted of typed the command above, then type this command to see if there are any problems: sudo systemctl status etesync-dav.service

1 Like

Okay. Since I have been running it in terminal with simply etesync.dav, and trying to close the terminal warned it would stop the process, I have been leaving it open next to Tbird. Now I can close that. Want to test it since I did still have it running while using the script in a new terminal window.

Will reboot and report back.
Sheila

1 Like

I wish I understood some of the Etesync stuff better, but I guess when I setup each calendar (I have 6) in Tbird and input the password I forgot or it did not ask to SAVE it. So after reboot, I got that popup about localhost wants the password for my user name.
There are so many passwords and a site to go to and click copy password (which I think changes each time) so now I cannot get the calendars enabled without it.

My copious notes from having set this up multiple times in multiple email clients are not getting me there. And there is no support as it is a single guy and I have never had a question answered except right after I paid for it.

I’'ll keep working on it and report back once I can enable them in Tbird to see if the service started.

Thanks so much
Sheila

1 Like

What does this command say

sudo systemctl status etesync-dav.service

myviolinsings@mint-desktop:~$ sudo systemctl status etesync-dav.service
[sudo] password for myviolinsings:         
● etesync-dav.service - Cal/CardDAV frontend for Etesync
     Loaded: loaded (/etc/systemd/system/etesync-dav.service; enabled; vendor p>
     Active: active (running) since Sat 2023-07-22 23:28:24 EDT; 24min ago
   Main PID: 991 (etesync-dav)
      Tasks: 2 (limit: 38242)
     Memory: 118.8M
        CPU: 747ms
     CGroup: /system.slice/etesync-dav.service
             ├─ 991 /usr/local/bin/etesync-dav
             └─1147 /usr/local/bin/etesync-dav

Jul 22 23:28:24 mint-desktop systemd[1]: Started Cal/CardDAV frontend for Etesy>

Is it supposed to have that repeatedly? I only copied one but there is a large gap of space and then it repeats 11 more times.

Sheila

1 Like

So sorry to scare you. It appears to be working properly. Did the messages in your calendar pop up when etesync is not active after rebooting.

1 Like

Well I would assume, as you said, that the etesync-dav autostarted after reboot. And sorry I didn’t think about the fact that the script would be working regardless that I cannot get the calendars enabled in Tbird, so I should have tried that first.

But doesn’t the output mean it was already running? I do have a 20 sec delay on Tbird startup since I use a bridge (Protonmail) and Tbird will complain until that bridge starts, so I believe the dav service was running immediately.

Also, I just tried to exit out of terminal and got the same message:

There is still a process running in this terminal. Closing the terminal will kill it.

Is that why it keeps repeating? Will it really kill the service if I close it?

Sheila

1 Like

etesync should continue to run after the terminal is closed, but why are you using the terminal to start TBird and bridge. Could you start bridge when the DE - desktop environment starts. I used to use bridge too, but not anymore. if you close the terminal, bridge may stop as well as Tbird

Sorry for the confusion. I am not using terminal for those things. I have autostart programs in Mint settings and when I set them up, I put a 20 sec delay on Tbird due to the bridge, which has no delay, just to ensure Tbird did not start till after the bridge.

The only reason I had terminal open was to test the dav service and get the results. So even though it repeats, I figured I could close it and got that message. No other process is running in terminal.

Sheila

1 Like

You don’t need to run the etesync command again in the terminal. is there a way to test without running the etesync command?

1 Like