Skip to content

Instantly share code, notes, and snippets.

@TerryCavanagh
TerryCavanagh / howtorunexefilesonlinux.md
Last active February 15, 2026 03:00
How to run windows .exe files on Linux by just double clicking on them

Here's a little script I use to easily run windows exe files on Linux by just double clicking on them, like you would on windows. It uses Valve's Proton, and assumes you have Steam installed somewhere on Linux. I'm using Ubuntu with Gnome.

First, copy this shell script somewhere in your home directory. Mine is in /home/terry/scripts/protonlauncher.sh. (I didn't write this script, I found it on google)

#!/usr/bin/env bash

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <executable-path>"
    exit 1
{"gameLink":"www.flickgame.org","canvasses":[[323,"1",1,"e",17,"1",2,"e",140,"1",1,"e",13,"1",1,"e",4,"1",1,"e",24,"1",1,"e",115,"1",1,"e",6,"1",2,"e",5,"1",1,"e",4,"1",1,"e",5,"1",3,"e",9,"1",5,"e",2,"1",1,"e",115,"1",1,"e",5,"1",1,"e",1,"1",2,"e",4,"1",4,"e",2,"1",1,"e",2,"1",2,"e",12,"1",2,"e",2,"1",1,"e",2,"1",1,"e",3,"1",3,"e",2,"1",1,"e",106,"1",1,"e",5,"1",1,"e",2,"1",1,"e",4,"1",1,"e",8,"1",3,"e",11,"1",2,"e",2,"1",1,"e",2,"1",1,"e",3,"1",1,"e",1,"1",1,"e",2,"1",1,"e",2,"1",2,"e",102,"1",1,"e",5,"1",4,"e",4,"1",1,"e",11,"1",1,"e",10,"1",1,"e",1,"1",2,"e",3,"1",1,"e",3,"1",1,"e",1,"1",1,"e",2,"1",1,"e",2,"1",1,"e",103,"1",1,"e",5,"1",1,"e",4,"1",3,"9",1,"e",8,"9",3,"1",2,"e",9,"1",3,"e",4,"1",3,"e",1,"1",4,"e",1,"1",1,"e",2,"1",1,"e",20,"1",3,"9",80,"1",4,"e",2,"1",1,"e",3,"1",4,"9",4,"e",5,"9",1,"e",2,"9",1,"e",10,"1",1,"e",13,"1",1,"e",2,"1",3,"e",19,"1",5,"9",81,"1",2,"e",3,"1",2,"e",15,"9",3,"e",10,"1",1,"e",17,"1",1,"e",20,"1",5,"9",87,"1",1,"9",2,"e",15,"9",25,"1",1,"e",1,"1",2,"e",21,"1",5,"9",8
{"gameLink":"www.flickgame.org","canvasses":[[323,"1",1,"e",17,"1",2,"e",140,"1",1,"e",13,"1",1,"e",4,"1",1,"e",24,"1",1,"e",115,"1",1,"e",6,"1",2,"e",5,"1",1,"e",4,"1",1,"e",5,"1",3,"e",9,"1",5,"e",2,"1",1,"e",115,"1",1,"e",5,"1",1,"e",1,"1",2,"e",4,"1",4,"e",2,"1",1,"e",2,"1",2,"e",12,"1",2,"e",2,"1",1,"e",2,"1",1,"e",3,"1",3,"e",2,"1",1,"e",106,"1",1,"e",5,"1",1,"e",2,"1",1,"e",4,"1",1,"e",8,"1",3,"e",11,"1",2,"e",2,"1",1,"e",2,"1",1,"e",3,"1",1,"e",1,"1",1,"e",2,"1",1,"e",2,"1",2,"e",102,"1",1,"e",5,"1",4,"e",4,"1",1,"e",11,"1",1,"e",10,"1",1,"e",1,"1",2,"e",3,"1",1,"e",3,"1",1,"e",1,"1",1,"e",2,"1",1,"e",2,"1",1,"e",103,"1",1,"e",5,"1",1,"e",4,"1",3,"9",1,"e",8,"9",3,"1",2,"e",9,"1",3,"e",4,"1",3,"e",1,"1",4,"e",1,"1",1,"e",2,"1",1,"e",20,"1",3,"9",80,"1",4,"e",2,"1",1,"e",3,"1",4,"9",4,"e",5,"9",1,"e",2,"9",1,"e",10,"1",1,"e",13,"1",1,"e",2,"1",3,"e",19,"1",5,"9",81,"1",2,"e",3,"1",2,"e",15,"9",3,"e",10,"1",1,"e",17,"1",1,"e",20,"1",5,"9",87,"1",1,"9",2,"e",15,"9",25,"1",1,"e",1,"1",2,"e",21,"1",5,"9",8
{"gameLink":"www.flickgame.org","canvasses":[[323,"1",1,"e",17,"1",2,"e",140,"1",1,"e",13,"1",1,"e",4,"1",1,"e",24,"1",1,"e",115,"1",1,"e",6,"1",2,"e",5,"1",1,"e",4,"1",1,"e",5,"1",3,"e",9,"1",5,"e",2,"1",1,"e",115,"1",1,"e",5,"1",1,"e",1,"1",2,"e",4,"1",4,"e",2,"1",1,"e",2,"1",2,"e",12,"1",2,"e",2,"1",1,"e",2,"1",1,"e",3,"1",3,"e",2,"1",1,"e",106,"1",1,"e",5,"1",1,"e",2,"1",1,"e",4,"1",1,"e",8,"1",3,"e",11,"1",2,"e",2,"1",1,"e",2,"1",1,"e",3,"1",1,"e",1,"1",1,"e",2,"1",1,"e",2,"1",2,"e",102,"1",1,"e",5,"1",4,"e",4,"1",1,"e",11,"1",1,"e",10,"1",1,"e",1,"1",2,"e",3,"1",1,"e",3,"1",1,"e",1,"1",1,"e",2,"1",1,"e",2,"1",1,"e",103,"1",1,"e",5,"1",1,"e",4,"1",3,"9",1,"e",8,"9",3,"1",2,"e",9,"1",3,"e",4,"1",3,"e",1,"1",4,"e",1,"1",1,"e",2,"1",1,"e",20,"1",3,"9",80,"1",4,"e",2,"1",1,"e",3,"1",4,"9",4,"e",5,"9",1,"e",2,"9",1,"e",10,"1",1,"e",13,"1",1,"e",2,"1",3,"e",19,"1",5,"9",81,"1",2,"e",3,"1",2,"e",15,"9",3,"e",10,"1",1,"e",17,"1",1,"e",20,"1",5,"9",87,"1",1,"9",2,"e",15,"9",25,"1",1,"e",1,"1",2,"e",21,"1",5,"9",8
@TerryCavanagh
TerryCavanagh / ColourFade.hx
Created July 18, 2017 19:59
Quickly hacked together fade thingy for something
//Quickly hacked together fade thingy for something
import haxegon.*;
import starling.display.*;
import starling.textures.*;
@:access(haxegon.Gfx)
class ColourFade{
public static var level:Float = 0;
public static var color:Int = 0x0;
@TerryCavanagh
TerryCavanagh / convert.hx
Created March 6, 2017 15:53
Useful functions: Convert bitmapdata to array of ints, and back
function convert_bitmapdata_to_intarray(bmp:BitmapData):String {
var bmpbytes:ByteArray = bmp.getPixels(bmp.rect);
bmpbytes.compress();
var outputstring:String = "[";
try {
bmpbytes.position = 0;
while (true) {
var b:UInt = bmpbytes.readUnsignedInt();
-- raycast variables
camerax = 0.0 cameray = 0.0
rayposx = 0.0 rayposy = 0.0
raydirx = 0.0 raydiry = 0.0
sidedistx = 0.0 sidedisty=0.0
deltadistx = 0.0 deltadisty=0.0
newdeltadistx = 0.0 newdeltadisty=0.0
perpwalldist = 0.0
distwall = 0.0 distplayer=0.0
currentdist = 0.0
@TerryCavanagh
TerryCavanagh / readme.txt
Last active August 29, 2015 14:20
Talk to this chatbot by pasting the script into http://www.elizascript.net/
Talk to this chatbot by pasting the script into http://www.elizascript.net/
This is the demo chatbot for Elizascript! Talk to liz by pasting this script into http://www.elizascript.net/, or just by visting the page!