Launch Zoom From the Command Line

Do you have a standing meeting in a Zoom chat? Do you hate having to constantly launch Zoom from the browser and deal with that window that they left open?

I sure did. From previous experience I know how you can create your own application handlers - a common one that you might have used with Skype before is something like tel:555-555-5555, which will let you click on a link to call someone.

When you launch Zoom from the browser, at least on Linux, it uses xdg-open to open Zoom (on Windows it's configured in the registry, IIRC). In order to figure out how to make this work on Linux I needed to see what the URL was that it was trying to open. Neither Chrome nor Firefox had that information handily available (and I had to reset my Chrome because I already told it to always allow xdg-open from zoom), so I resorted to some trickery. On Firefox I could choose a different application to launch the link, so I created a very simple Python script:

1
2
3
4
5
#!/usr/bin/env python3
import sys

with open('args.txt', 'w') as f:
    f.write(' '.join(sys.argv))

That would write the command line arguments out. As it turns out, the argument looks like this:

zoommtg://zoom.us/join?action=join&confid=<some ID here>&confno=<the
important bit>&zc=0&pk=&mcv=0.92.11227.0929&browser=firefox

If you have some zoom link like https://zoom.us/j/1234567 then all you need is the 1234567 (that's the important bit).

Now you just have to create a way to run the command:

xdg-open zoommtg://zoom.us/join?action=join&confno=1234567

If you want to be able to pass in the conference # then you can make your tool do that. I did that with my fish shell, so I can run:

zoomy 1234567

And tada! I'm in that zoom meeting. I did that by creating ~/.config/fish/functions/zoomy.fish and putting this in there:

function zoomy
    xdg-open "zoommtg://zoom.us/join?action=join&confno=$argv"
end

That's all it took. I also have a daily standup, so I created another command:

function standup
    xdg-open "zoommtg://zoom.us/join?action=join&confno=1234567"
end

And now all I have to do is type standup into my terminal when it's time and zoom will pop up. I guess if I were feeling really excited I could even setup a cron job to launch zoom for me at the appropriate time. Or if I was really excited I could use vdirsyncer to sync my Google calendar events, mine them for the Zoom link and have it install cronjobs to launch the meetings automatically for me.

But for now, typing the command works.

links

social