Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - ".bashrc"
-
SSH'd into all the computers in college's lab and edited the bashrc to display "YOU ARE BEING WATCHED / YOU'VE BEEN HACKED" etc.
Everyone freaked out instantly.
Then edited my own bashrc file too so that no one realizes it's me.
I was surprised at how easy it was.8 -
This one time I aliased a coworkers 'sudo' with 'sl' (sl shows a train running across the screen)
And then I removed him from the sudoers group and sudoers list.
I then magnified his screen 200%
Changed his background to a shitty narwhal.
And then full screened a terminal with the 'sl' train stuck in a while loop.
You can't control c out of the terminal.
He solved the first part really quickly, fixing the full screened terminal and exiting out of it, magnification and the background.
But took him 4 days to find that I had fucked up his sudo. Apparently, he didn't need to use sudo in those 4days. It wasn't until he mentioned it out of the blue.
How did he find out about it? He was running an important script that had sudo in it. When he ran the script a train would pop up and his script would terminate early.
He came to me and cursed me to Satan's anus. He then asked me to fix it, but then changed his mind and said that he'd do it himself. After a while he couldn't figure out what I had done.
I walked him through it. Told him that he had to go to his .bashrc file and remove the alias.
Later he comes back to me and curses me to the 12th circle of hell. He found that he was no longer a sudoer. At this point he gave me access to his computer and told me to reverse everything that I had done.
Added him back into the sudoers group and called it a day.
Lesson to be learned? Don't leave your machine unlocked.20 -
senior devops in the school IT dep: "gcc is not working, it keeps telling theres no input files when there is, and its failing most of my builds"
are you sure sir? Give it another go
(Meanwhile my friends managed to sneak a "fixed image")
see? it works.
Senior Devops: " I swear it didn't work"
(we giggle)
check the last build's .bashrc
>alias gcc= (the error message e was referring)
Senior Devops: "MOTHERFUCKERS"
Actually its just your infra that we pushed the image to, school infra is unaffected
I mean it was fun while it lasted.4 -
When my neighbor forgets to lock his computer, I append this to his bashrc
alias cd='cd $(ls -d */ | sort -R | head -1) && echo'7 -
Having a look through my .bashrc, apparently forgot about this.
Thank you bong smoking, fortune telling cow.2 -
Spent 2 hours trying to figure out why my .bashrc file wasn't getting run. Then I realized I'm using zsh...2
-
It took forever to get SSH access to our office network computers from outside. Me and other coworkers were often told to "just use teamviewer", but we finally managed to get our way.
But bloody incompetents! There is a machine with SSH listening on port 22, user & root login enabled via password on the personal office computer.
"I CBA to setup a private key. It's useless anyways, who's ever gonna hack this computer? Don't be paranoid, a password is enough!"
A little more than 30 minutes later, I added the following to his .bashrc:
alias cat="eject -T && \cat"
alias cp="eject -T && \cp"
alias find="eject -T && \find"
alias grep="eject -T && \grep"
alias ls="eject -T && \ls"
alias mv="eject -T && \mv"
alias nano="eject -T && \nano"
alias rm="eject -T && \rm"
alias rsync="eject -T && \rsync"
alias ssh="eject -T && \ssh"
alias su="eject -T && \su"
alias sudo="eject -T && \sudo"
alias vboxmanage="eject -T && \vboxmanage"
alias vim="eject -T && \vim"
He's still trying to figure out what is happening.5 -
@JoshBent and @nikola1402 requested a tutorial for installing i3wm in a windows subsystem for linux. Here it is. I have to say though, I'm no expert in windows nor linux, and all I'm going to put here is the result of duckduck searches, reddit and documentation. As you will see, it isn't very difficult.
First things first: Install WSL. It's easy and there's a ton of good tutorials on this. I think I used this one: https://msdn.microsoft.com/en-us/...
Once you got it installed, I guess it would be better to run "sudo apt-get update" to make sure we don't encounter many problems.
Install a windows X server: X is what handles the graphical interface in linux, and it works with the client/server paradigm. So what we'll do with this is provide the linux client we want to use (in this case i3wm) with an X server for it on windows. I guess any X server will do the work, but I highly recommend vcXsrv. You can download it here:
https://sourceforge.net/projects/...
for i3 just "sudo apt-get install i3"
Configurations to make stuff work:
open your ~/.bashrc file ("nano ~/.bashrc" vim is cool too). You'll have to add the following lines to the end of it:
"""
export DISPLAY=:0.0 #This display variable points to the windows X server for our linux clients to use it.
export XDG_RUNTIME_DIR=$HOME/xdg #This is a temporary directory X will use
export RUNLEVEL=3
sudo mkdir /var/run/dbus #part of the dbus fix
sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf #part of the dbus fix
"""
Ok so after this we'll have a functional x client/server configuration. You'll just have to install your desktop enviroment of choice. I only installed i3wm, but I've seen unity and xfce working on the WSL too. There are still some files that X will miss though.
*** Here we'll add some files X would miss and :
With "nano ~/.xinitrc" edit the xinitrc to your liking. I only added this:
"""
#!/usr/bin/env bash
exec i3
"""
Then run "sudo chmod +x ~/.xinitrc" to make it an excecutable.
Then, to make a linking file named xsession, run:
"ln -s ~/.xinitrc ~/.xsession"
Now you'll be able to run whatever you put in ~/.xinirc with:
"dbus-launch --exit-with-session ~/.xsession"
There's a ton of personalisation to be done, but that would be a whole new tutorial. I'll just share a github repo with my dotfiles so you can see them here:
https://github.com/DanielVZ96/...
SHIT I ALMOST FORGOT:
Everytime you open any graphical interface you'll need to have the x server running. With vcXsrv, you can use X launch. Choose the options with no othe programs running on the X server. I recommend using "one window without title bar".10 -
Enough is enough! I can't do it anymore!
...
alias pm='python manage.py'
alias ga='git add .'
alias gc='git commit -a'
alias gi='git init && touch .gitignore && printf ".idea \n venv \n node_modules \n out \n *.iml \n *.log \n build \n target" > .gitignore'
alias gp='git push'
alias gps='git push --set-upstream origin master'
alias gr='git remote add origin'
...
Much better :D12 -
Previously: http://bu.tl/8t
I wanted to grab a script off another computer, and was getting strange scp errors. Turns out my use of .bashrc to hold all my aliases and custom variables was not "best practice," and scp was flipping out. I renamed my .bashrc files to .bash_profile, and scp worked properly from there. But then, I found that by default xterm doesn't consider an xterm session a "login." So I had to update my .Xresources file with an option for xterm, and re-merge it with xrdb. SO! I was ready to grab my script to set my openbox config the way I like it.
All the while, I noticed that the trackpad tapping didn't work, so that was my next hurdle to take. Next post! -
Finally learning vim after a few years of absolute refusal.
echo export EDITOR="vim" >> ~/.bashrc18 -
I have the following shell aliases set:
conf='vim ~/.bash_profile'
go='. ~/.bash_profile'
This reason alone is why I've hesitated to learn golang.1 -
Run this command in your friend's terminal and watch the show...
echo "exit" >> ~/.bashrc
See how long it takes then to figure out what's going on.10 -
So today it finally happened.
Npm modules broke my system and / or endangered the security of my system.
Installed a global cli utility
That utility depends on package A
That depends on package B
That fucking install a bin called sudo
Yeah.. You heard it right a bin called sudo.
This bin goes in the global module folder that is piped in your path variable.
Now everytime you type sudo you are running somebody else code instead of your system utility.
I am shivering and at loss of swear words.
Opened an issue on the cli that started this matrioska game of horror.
Who the fuck tought that a bin called sudo would be a good fucking idea?
Oh and yes is even an harmless package that try to provide the sudo experience for windows (I went in to check the code of course..)
And I frigging need that cli for work
For now I aliased the sudo in my bashrc still i feel vulnerable and naked now.10 -
Time spent getting to grips with your OS is usually time spent well. While you're not operations, it really helps being able to solve general problems yourself without calling support.
Oh, and: Set up a good bashrc, and put it on the servers you're working with.4 -
Over 100+ learning about, and configuring my i3 .config, .vimrc, .bashrc, etc. Exactly how I want it. Then one day: "Meh, time to reinstall and delete all configs!"
I have a serious problem.4 -
Changed the .bashrc of my headless server incorrectly, causing me to get kicked out of my ssh session as soon as I connected… Thank God for scp (learned something new today as well 😂)
-
Do you guys remember the fun little joke utility called fuck that corrected typos?
While debugging an absurd 2s shell load time, I noticed today that the command it appends to .bashrc to _set a fucking alias_ takes almost 400ms to execute.1 -
I've been using an arch based distro that really required pretty much nothing in terms of know-how to get it set up. Tonight, I randomly checked the ~/.bashrc file today and found some cute aliases.
# Help people new to Arch
alias apt-get='man pacman'
alias apt='man pacman'
alias helpme='cht.sh --shell'
alias please='sudo'
alias tb='nc termbin.com 9999'1 -
I'm using git bash on Windows 10, tried WSL, but it is really messed up needs more documentation, i had multiple installs of node js and other stuff including node_modules
So using git bash, I have my own sweet .bashrc file which is awesome, using bash or WSL is kinda slow, just wanna know how you devs have set up your terminals.4 -
Launching the company's platform setup script:
"we added some variables to your bashrc. please source it and re launch this script"
"source .bashrc"
"we added some variables to your bashrc. please source it and re launch this script"
...
You had one job. -
When i decide to change the color lines of my Linux bash i would never imagineted that it was so hard lime that 😅5
-
So today I found out why I couldn't SCP stuff to one of my servers for the last 6 months.
It was a fricking "echo" in the .bashrc script (well, in a script that got sourced in there).
(Read: https://stackoverflow.com/q/...)1 -
Thinking of adding a few aliases:
.bashrc
#Custom aliases
daddy_shark_doo_doo_doo_doo_do ='sudo'
whos_your_daddy='whoami'
call_me_daddy='su root'
you_aint_shit='kill'2 -
Am so tired of this..someone help..hv been settig temporary env variable each time i open a new terminal..i hv editted .profile and .bashrc yet no way..i want a global permanent setting..pls help!!!20
-
Holy shit.
This was an effort to combine Gitlab, Github and Bitbucket with VSCode and git SSH authentication. SSH agent doesn't work, configured, added some code in .bashrc, seems fine. Then there was still ssh-askpass missing.
"ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory"
WTF VSCode? Why do I need this crap?
However, installed it. Nevertheless, I'm still asked for my password every time when I synchronize using the GUI. Thank God everything was in docker containers/images. So at least there is no garbage left after every failed attempt.
I don't know how, but I finally made it that at least synchronization using the terminal works without a password.
Took me five hours to do this shit.
Now I just report the bug to Microsoft and then straight to McDonalds. I'm starving.1 -
When you realize your co-worker does everyone as root and has changed his bashrc to show in green.1
-
I wrote a bash script to launch 7 terminal windows, to be run when I am about to start work(need them for git on 7 projects in my work) in the morning.
Then, I added the script to my .bashrc.1 -
Can't believe I'm about to say this, but:
Systemd-container is a rather cool SysD extension.
It allows me (Root on most servers) to switch to a customer account in a completely new session, setting all the .profile and .bashrc stuff up, so I can do stuff like control their rootless docker, and no longer have to add my SSH key to their authorized_keys file then re-login under their user.
Nice.1 -
Exhausting all other options is a precondition for making a timeout heavily dependent on the system setup configurable according to the VSCode team. They advised us to not use NVM, to buy faster computers, to move time-consuming processes from .bashrc into .profile, before allowing us to manually make VSCode wait a bit longer. Microsoft attitude
https://github.com/microsoft/...4 -
So I am gonna build a bashrc from scratch again.
There is just one thing messes me right now:
I don't know how to avoid the bug(?) described at the bottom.
Last time when I made one, used a line break, but whenever I went back in the command history and there is a long command (chain) it just messes up whole PS1 by getting inside, pressing backspace furiously to get the start of the command (mostly eating half of the PS1) and an up and a down to get back to command and see it properly.
Any good ideas to destroy that bug while it isn't born yet?1 -
this all started with VIM,
I now have custom a .bashrc, a custom .tmux.conf, few AHK stuffs, I am considering on using qute browser full time.
and for the past 14 days I've been configuring so much that I've only 2 commits on the actual work done.3 -
Once I configured someone's bashrc so that everytime he opened the terminal he would get a creepy ascii art version of Sans from Undertale. We both are big fans.
A nice prank vould be starting sshd on someone else's pc and changing stuff here and there the whole day.
Of course "don't do this at home", I suppose it might be dangerous and I have no idea how to do it in a safe way.1 -
Aliases set up in bashrc don’t work unless I source them using a dot. That’s why I set up my aliases and paths in bash_profile. Bashrc is f##king useless.3
-
!Rant
Add the function below to your .bashrc
function doGit() {
git add .
git commit -a -m ".."
git push
}
Next time just use doGit "bug fixes" ☺
What will you name your function?? -
Despite already having a few years of professional experience dealing with Linux servers, I still, to this day, confuse, which environment file gets sourced and when...
There's /etc/profile, /etc/bashrc, ~/.bash_profile, ~/.profile, ~/.bashrc
I think it's... Bashrc for interactive shells, profile for login shells.
But then I have examples like "ssh user@server 'echo $var'" that... Don't source any of the files!
You can enable user environment files for SSH that get sourced whenever a user logs on through SSH (~/.ssh/environment / environment specified for a key in ~/.ssh/authorized_keys)
Is there some sort of master environment file that gets sourced *every* time, no matter what kind of shell starts?1