geerlingguy / pi-dev-playbook

Raspberry Pi setup and configuration via Ansible.
https://www.jeffgeerling.com/blog/2020/i-replaced-my-macbook-pro-raspberry-pi-4-8gb-day
MIT License
59 stars 11 forks source link

Pick an email client, code editor, other essential apps #2

Closed geerlingguy closed 4 years ago

geerlingguy commented 4 years ago

There are a few apps I kind of rely on day-to-day on my Mac:

macOS App arm64 equivalent
Sublime Text 3 VSCodium
macOS Mail Evolution
1Password N/A (Chrome extension requires 1Password subscription)
RadarScope Pro N/A (Tried to get aweather working, didn't)
Safari Chromium
Terminal Terminal
Dropbox rclone (Dropbox CLI/app had problems installing)
Photos N/A
Calendar N/A
Notes N/A
Photoshop (I wish I didn't...) Mirage (tiny and fast), GIMP (slow and clunky but mostly adequate)
LimeChat Pidgin
Slack N/A (Linux build only on AMD64)
BlueJeans N/A (Browser only; video worked, audio did not)
Zoom N/A (Browser only; video worked first time, audio never did)
Hubstaff (time tracker) N/A
Reeder N/A
Tweetbot Cawbird (sorta)
QuickTime Player VLC (See #4 for A/V capture options)
Sound Studio gnome-sound-recorder (though didn't work for me)
Final Cut Pro X N/A

There are also a dozen or so other apps I probably use once a week and I'd miss them if I had no alternative.

So the point of this issue is to try to figure out if the same app can be had for the Raspberry Pi under arm64 arch, or if I'll need to find a decent substitute (in most cases, probably yes). In a few cases, if there's no substitute, I'll have to find a way to make do with the web app version of something (e.g. Calendar and maybe something like Slack?).

On top of all that, I'd like to see if I can use my typical accessories (AirPods, Behringer USB audio interface, Logitech C920 webcam(s), etc.) with the Pi 4 through an extra USB 3.0 hub. See how far I can go down the road of fully replacing my Mac with an ARM 64-bit SBC.

I know I won't get all the way, but how far can I go? Surely I can do more on it than my iPad Pro, since I actually have some control over the computer :D

geerlingguy commented 4 years ago

I installed VSCodium using these instructions: https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo#how-to-install-for-debianubuntulinux-mint

(Had to install software-properties-common with apt-get first.)

geerlingguy commented 4 years ago

I finally got Dropbox to compile and install... but now when I try starting it and downloading the daemon I get an error about the window system :(

pi@raspberrypi:~ $ dropbox start -i
Starting Dropbox...The program 'dropbox' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 816 error_code 2 request_code 1 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Trying it again, just for fun, and with sudo for kicks:

pi@raspberrypi:~ $ sudo dropbox start -i
Starting Dropbox...[xcb] Unknown sequence number while awaiting reply
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python: ../../src/xcb_io.c:297: poll_for_response: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Aborted

It seems the Dropbox client is not well-supported for non-X86 arch's and also might be tailored to Ubuntu specifically. I'm going to try out rclone instead: https://www.raspberrypi.org/forums/viewtopic.php?t=271433

geerlingguy commented 4 years ago

rclone works substantially better, though the Dropbox app and sync capabilities would be preferred if I had a giant hard drive that could hold more than 1/4 of my Dropbox files (I think it's up to a few hundred GB at this point).

Since I can't script the entire Dropbox auth workflow for rclone, I've added a note that runs as a handler in the playbook that outputs the two commands to run to start using Dropbox:

rclone config  # then follow the prompts to set up `dropbox` and authenticate.
rclone mount --daemon dropbox: /home/pi/Dropbox

At one point, rclone seemed to get stuck, so I had to run fusermount -u /home/pi/Dropbox to break the mount, then rclone mount again.

geerlingguy commented 4 years ago

I got Cawbird up and running... but (a) you have to install it via a Snap, and I don't particularly like Snaps, or the fact that you have to reboot after installing snapd, and (b) it seems to bump into a lot of errors. For example, I was going to gloriously pronounce the first-ever Tweet from my account on a Raspberry Pi 4, and got:

2020-06-09-122854_1920x1080_scrot

[Edit: Well, that's weird. I just tried two more times and the first time it gave the error again... this time it worked. And subsequent tests have worked too.

geerlingguy commented 4 years ago

I tried out gnome-audio-recorder as a simple replacement for something like Sound Studio, and was met with a bit of a disappointing introduction:

gnome-audio-recorder-cant-record

The preferences didn't seem to allow selection of a different audio interface, so I couldn't really record through a GUI at all :(

geerlingguy commented 4 years ago

Heh... the only recommended Feedly desktop client was http://feednix-jarkore.rhcloud.com/ ... it leads to 'page not found'.

geerlingguy commented 4 years ago

Blog post is up: https://www.jeffgeerling.com/blog/2020/i-replaced-my-macbook-pro-raspberry-pi-4-8gb-day

stale[bot] commented 4 years ago

This issue has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution!

Please read this blog post to see the reasons why I mark issues as stale.

stale[bot] commented 4 years ago

This issue has been closed due to inactivity. If you feel this is in error, please reopen the issue or file a new issue with the relevant details.