Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 months ago.
Improve this question
Xrdp server on kali linux. Also there is installed freerdp2-shadow-x11 to start the shadow session.
The shadow server is started with the freerdp-shadow-cli command in the terminal of a running xrdp session. And only so.Interactively on the command line with output.
I need it to run in the background from autoload along with the session of the user connected to the server.
Partially, I solved it with a script:
#!/bin/bash
freerdp-shadow-cli -auth -port:3389 -may-interact > /dev/null 2>&1 &
interactively, this script is executed and everything works, but if you add it to autoload (.zshrc file), then the script will only run when you open the terminal with your hands.
And so, experts, the question is:
How can I make the script autoload?
Finally figured it out myself
From the very beginning:
apt install freerdp2-shadow-x11
nano /home/user/RDS.sh
RDS.sh:
#!/bin/bash
#gnome-terminal -e
freerdp-shadow-cli -auth -port:3389 -may-interact > /dev/null
2>&1 &
cli:
chmod 755 RDS.sh
nano /home/user/.config/autostart/shadow.desktop
shadow.desktop:
[Desktop Entry]
Name=shadow
GenericName=A descriptive name
Comment=Some description about your script
Exec=/home/user/RDS.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
cli:
chmod 755 shadow.desktop
reboot
-may-interact -only show desktop
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
Improve this question
I'm experiencing this behavior:
I have a docker image:
FROM ubuntu:latest
...
RUN useradd -m develop
USER develop
When I run the container:
docker run -it my_image
I get a terminal with all the features such as LS_COLORS, completion of files/directories names with TAB, etc. But if I run the container with root user:
docker run -it -u 0 my_image
And then, in the container:
~$ su develop
Now my prompt doesn't havae any of the above features, and is very hard to work with. Can someone explain this behavior? I assume it has something to do with all the initialization scripts such as .bashrc, /etc/profile, etc., but I don't quite understand the difference between the two above scenarios.
EDIT
Thanks #ItayB for the answer, I just figured it out also :).
But still, the behavior is not exactly the same as if I would just login as develop:
~$ docker run -it -u 0 build_agent:0.5
root#6acf7b900da3:/# su develop
$ bash
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
bash: /root/.bashrc: Permission denied
develop#6acf7b900da3:/$ cd ~
bash: cd: /root: Permission denied
develop#6acf7b900da3:/$
As you can see, the environment variables are still set as if I was "Root" user. Why is that?
I think you should explicitly call bash after switching user:
$ docker run -it -u 0 my_image
root#74765d85882a:/# su develop
$ bash
develop#74765d85882a:/$
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 years ago.
Improve this question
I've built a container with:
> cat Dockerfile
FROM fedora:latest
USER root
RUN dnf update -y && \
dnf clean all && \
dnf autoremove
> docker build -t dev .
> docker run -t -d <container_id>
> docker exec -it <container_id> /bin/bash
$ dnf install -y which
$ which find
which: no find in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
Every Linux distribution I've had experience with so far has had find pre-installed, so I'm not entirely sure what to do here.
A quick Google search yields results about how to use find, or why it can't be found when being used in a bash script, etc. But no matter the keywords I use, I can't seem to find anyone who has run into this before.
dnf search find shows no results, but perhaps it is under another name? Or is it something I will have to compile myself?
# dnf whatprovides '*/bin/find'
findutils-1:4.6.0-24.fc31.x86_64 : The GNU versions of find utilities (find and xargs)
Repo : #System
Matched from:
Filename : /usr/bin/find
findutils-1:4.6.0-24.fc31.x86_64 : The GNU versions of find utilities (find and xargs)
Repo : fedora
Matched from:
Filename : /usr/bin/find
# dnf install -y findutils
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this question
I have a little problem with the i3 tiling window manager's ~/.i3/config file.
I am trying to set the pm-suspend utility as a key-binding of Mod4 (the windows key) + p (the p char).
I have this bash script called suspendandlock in /usr/bin/:
#!/bin/bash
sudo pm-suspend | i3lock -i /home/antony/unity-desk.png -p default -d -n
I previously modified the /etc/sudoers file with visudo, adding this line:
%users ALL = NOPASSWD: /usr/sbin/pm-suspend
So that no one needs the password to execute pm-suspend utility.
Then I have my i3 config file, where I added this:
bindsym $mod+p exec suspendandlock
Where $mod is the Mod4 key.
The script works fine from gnome-terminal when I type the suspendandlock command -> it suspends the system and blocks the screen as expected.
But when I type Mod4+p from keyboard it only blocks the screen without executing pm-suspend.
Why does it not work?
Does anyone knows where I am wrong?
It looks like OP solved the problem, but for anyone else who needed to fix it (myself included), just run:
sudo usermod -aG users `whoami`
which pm-suspend || sudo apt-get install pm-utils #make sure you have pm-suspend command, install it if you don't
run sudo visudo and add:
%users ALL = NOPASSWD: /usr/sbin/pm-suspend
and then add:
bindsym $mod+p exec "sudo pm-suspend | i3lock"
to ~/.i3/config. Running $mod+p will now lock and then suspend your computer.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I know this is kinda off-topic, but since I've found the code I'm talking about here on SO I hope that someone can help me.
I was dealing with a POSTGRES error and read here: Can not connect to local PostgreSQL an answer, the one from vvdpzz that lead me to run that code in my terminal.
After that, my mac stopped working and since then it doens't reboot, it comes till the apple logo that keeps flashing and switching with a folder with a question mark.
I've checked the code that curl execute and it's the following:
#!/bin/sh
BREW_POSTGRES_DIR=`brew info postgres | awk '{print $1"/bin"}' | grep "/postgresql/"`
LION_POSTGRES_DIR=`which postgres | xargs dirname`
LION_PSQL_DIR=`which psql | xargs dirname`
sudo mkdir -p $LION_POSTGRES_DIR/archive
sudo mkdir -p $LION_PSQL_DIR/archive
for i in `ls $BREW_POSTGRES_DIR`
do
if [ -f $LION_POSTGRES_DIR/$i ]
then
sudo mv $LION_POSTGRES_DIR/$i $LION_POSTGRES_DIR/archive/$i
sudo ln -s $BREW_POSTGRES_DIR/$i $LION_POSTGRES_DIR/$i
fi
if [ -f $LION_PSQL_DIR/$i ]
then
sudo mv $LION_PSQL_DIR/$i $LION_PSQL_DIR/archive/$i
sudo ln -s $BREW_POSTGRES_DIR/$i $LION_PSQL_DIR/$i
fi
done
What happened? I'm not an expert. How can I solve this. I've tried to start in secure mode by pressing the shift key while booting but it doesn't work.
This is a good example of why you shouldn't run scripts without understanding what they do. My guess is that one or both of LION_PSQL_DIR and LION_POSTGRES_DIR came out as empty and the script ended up moving things around in your root directory. You should be able to recover your system by following these steps:
Boot your OS X installation disc by putting it in the drive and holding the C key while booting.
From the Utilities menu, choose Terminal
Run the command cd /Volumes
Run the command ls which should show an entry corresponding to the name of your Mac's hard drive
Run the command cd "<name of your hard drive>"
Run the command ls. If the problem is that things got moved from the root of your drive, there will be an archive entry, if there isn't then stop since this will not fix your problem.
Run the command cd archive to enter the archive directory
Run the command mv * .. to move everything in the archive directory back to the root of your harddrive
Close the terminal
Run Disk Utility from the Utilities menu and use repair permissions on your drive.
Reboot your computer and hopefully it will work right now
Never run random scripts like that again.
The 10th step might not be strictly necessary. I haven't tried to do these steps myself, but they should be pretty close to correct. If you get any errors during them stop and put a comment and I will try and figure out how to proceed.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
What should I type on the Mac OS X terminal to run a script as root?
As in any unix-based environment, you can use the sudo command:
$ sudo script-name
It will ask for your password (your own, not a separate root password).
Or you can access root terminal by typing sudo -s
sudo ./scriptname
In order for sudo to work the way everyone suggest, you need to be in the admin group.
sudo ./scriptname
sudo bash will basically switch you over to running a shell as root, although it's probably best to stay as su as little as possible.