- For Mac OS 9, Jeremy Nelson, FireWire Senior Test Engineer at Apple, demonstrated FireBug. This free application observes and records all of the activity on the FireWire bus.
- Find Puzzle games for macOS like Morto, One-way Ticket (Ep. 1), Corpse Clue, 7 Turns to Drown, A Taste of the Past on itch.io, the indie game hosting marketplace.
Risen (itch) mac os. Mar 20, 2012 - Explore Nicci Thompson's board 'Puzzle for 3-4 years olds' on Pinterest. See more ideas about melissa and doug, puzzle, melissa & doug.
Setting up X
Install XQuartz (X.Org X Window System that runs on MacOS)
Then in the XQuartz preferences, under the security
tab, check the allow connections from network clients
button
Quickstart (tldr)
Given XQuartz is set up
Find your IP address and allow access to the X server (assuming en0
is your network device)
pull the container
run it with the following environment variables (passing in your localIP
to DISPLAY
)
Now that's fun, but let's go through how the Dockerfile
was built, and add a generic script that would ensure it would run on any MacBook.
Building the Dockerfile
Using ubuntu as the base image. Let's work out the RUN
commands we'll need.
Base software
Let's install the packages required, xauth
, xorg
, and sudo
since we want your non-root user to be able to escalate to root.
For the games, we'll install gnome-games
and the KDE
games. the kdegames
package doesn't exist anymore, so we'll individually install all the known packages.
User configuration
We'll create the user ubuntu
with sudo
privledges
Then set it as default with its home as the WORKDIR
, add the /usr/games
to PATH
Game list
I'd like the user to have a list of games avaiable with a description for each one. A trick is to use apt-cache search ^packagename$
to get the description, e.g.,
Klurby mac os. What we can do is run this against all the games in the /usr/games
directory and redirect it to a file gamelist
that we can output when the container is run. Using some xargs
magic, we can speed it up during the build
where the -P
flag is for Parallel mode and nproc
will print the number of processing units available to the current process, so we can parallelise the process as much as possible.
Entrypoint
We'll set the entrypoint to be a script
where it will print the list of games, cd in /user/games
, and exec
whatever command is passed to the container
Putting it all together
Optimising for layers and image size we now have our Dockerfile
Mac Os Catalina
Running the container
I wrote a script that finds the MacBook's active network device and the local IP, gives it access to the X server, and runs the container
it works as expected
With no arguments passed, the container will cat
the gamelist
file and give the user an interactive shell in the /usr/games
directory. Passing a game name as an argument, the container will simply run the game.
Nice and simple! 👏