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
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 12 months ago.
Improve this question
For example, I just need to edit the config file like the following:
clean:
rpc:
rm -rf ./rpc
api
rm -rf ./api
run:
> make clean rpc
However, make don't support nested subcommands.
A good choice is https://github.com/spf13/cobra, which supports subcommands and command alias... But it is used in golang, not shell.
I wonder do we havecobra in shell?
I wonder do we have cobra in shell?
I found 1,
This is the link: https://taskfile.dev/#/
Below is the example:
Taskfile.yml
version: "3"
tasks:
clean:rpc:
desc: Clean RPC
cmds:
- rm -rf ./rpc
clean:api:
desc: Clean API
cmds:
- rm -rf ./api
To view available commands: task --list
To exec command: task clean:api or task clean:rpc
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
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 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 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.