'Run a shell script in Terminal through a keyboard/desktop shortcut

I'm using Linux (Mint 20.3) to run a simple Minecraft server and I want to be able to start the server with a keyboard or desktop shortcut. I also want to be able to interact with the server in a terminal after it starts. I'm currently using the server software supplied by Mojang. I wrote a little program to get things started:

#!/bin/bash
cd /home/trevor/Minecraft_Server
LD_LIBRARY_PATH=. ./bedrock_server
exec $SHELL

I can get the server to run but I have no clue how to get it to open a terminal window so I can interact with the server. I'm relatively new to Linux so any input would be greatly appreciated.



Solution 1:[1]

you can use screen to detach and attach to run commands into the minecraft terminal.

to install screen: apt-get install -y screen

To launch, update your script with something like: screen -S mcs ./bedrock_server

to reattach, run the following in a terminal: screen -r mcs

Solution 2:[2]

Use screen in your script to reattach to bedrock process.

Install screen:

apt-get install screen

Define your script as:

#!/bin/bash
export LD_LIBRARY_PATH=.
cd /home/trevor/Minecraft_Server
screen -d -m -S bedrock ./bedrock_server

After invoke your script, screen creates a socket that can be used to reattach to your script terminal. You can show screen sockets available with:

screen -ls

Parameter -S defined 'bedrock' as the socket name. So you can open another terminal as you like and reattach to the bedrock process with:

screen -r bedrock

If you detach the screen with CTRL+C the screen will be closed and so the minecraft bedrock server. To deattach without close the process you must use CTRL+A and CTRL+D.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Max888
Solution 2 gma