Skip to main content

Volume Zero after Login or Unlock in Mac

After reaching office, as soon you opened your laptop it resumes the video/audio you left last night. Sometimes it can be embarrassing, So what we can do is write a script to set volume zero every time your laptop wakes up from login or unlock.

The following script is for macOS only. The idea is the same for every OS, you just need to find the right hook and commands.

First, we will install the software sleepwatcher which provides the hook for sleep and wakeup events in the OS. Open the terminal and execute the below command.

brew install sleepwatcher
brew services start sleepwatcher

If everything executed correctly. The sleepwatcher has been installed and running in the background. Now we need to figure out how to execute the desired commands on sleep and wakeup events.

If we execute below command
ps -ef | grep 'sleepwatcher'

you will see output something like this.
 502   510     1   0 12:07PM ??         0:16.26 /usr/local/sbin/sleepwatcher -V -s ~/.sleep -w ~/.wakeup

At the end of the output line there are two input files ~/.sleep and  ~/.wakeup already provided as arguments when sleepwatcher started.

So check you home(~) directory If the files  ~/.sleep and ~/.wakeup are not present. Create the files and set the right permission. To do the same follow the below commands.

touch  ~/.sleep
chmod 755 ~/.sleep
touch  ~/.wakeup
chmod 755 ~/.wakeup

Now everything is set and need the command to set the volume zero. Below command can be be used
osascript -e "set Volume 0"

You cat test it on the terminal before adding to your script and after that simply put the volume zero command in file ~/.wakeup

Now restart the sleepwatcher
brew services restart sleepwatcher

 If everything executed properly you will volume zero after login or unlocking the screen.

Volume zero is just one example you can do some other creating stuff by using this. Please feel free to comments.

Comments

Post a Comment

Popular posts from this blog

How to Create a Namespace in Aerospike Database

                      T his post is about creating a namespace in Aerospike. I could not find any concrete method to create a namespace like create database in MySQL and MongoDB. So I am suggesting a way to create a namespace in Aerospike Database. Step-1: Locate config file aerospike.conf and open it in your favorite editor and make sure you have permission to modify the file. In my system the path of file /etc/aerospike/aerospike.conf (Default in Ubuntu). Here the content of the file. # Aerospike database configuration file. service { user root group root paxos-single-replica-limit 1 # Number of nodes where the replica pidfile /var/run/aerospike/asd.pid service-threads 4 transaction-queues 4 transaction-threads-per-queue 4 proto-fd-max 15000 } logging { # Log file must be an absolute path. file /var/log/aerospike/aerospike.log { context any info } } network { service { address any port 3000 } heartbeat { mode multicast address 239.1.99.222 p

java.lang.IllegalArgumentException: Could not instantiate implementation: org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftStoreManager

If you are trying to get started with Janus Graph with Apache Cassandra. You may get the following error. Caused by: org.janusgraph.diskstorage.TemporaryBackendException: Temporary failure in storage backend at org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftStoreManager.getCassandraPartitioner(CassandraThriftStoreManager.java:219) ~[janusgraph-cassandra-0.2.0.jar:na] at org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftStoreManager.<init>(CassandraThriftStoreManager.java:198) ~[janusgraph-cassandra-0.2.0.jar:na] ... 48 common frames omitted Caused by: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused) at org.apache.thrift.transport.TSocket.open(TSocket.java:187) ~[libthrift-0.9.2.jar:0.9.2] at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81) ~[libthrift-0.9.2.jar:0.9.2] at org.janusgraph.diskstorage.cassandra.thrift.thriftpool.CTConnectionFactory.makeR

com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server

If you are trying to connect Mongo DB Server and it insanely throwing following error. com.mongodb.MongoTimeoutException : Timed out after 1000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=192.168.1.10:27010, type=UNKNOWN, state=CONNECTING, exception={ com.mongodb.MongoSecurityException: Exception authenticating MongoCredential {mechanism=null, userName='user123', source='admin', password=<hidden>, mechanismProperties={}}}, caused by {com.mongodb.MongoCommandException: Command failed with error 18 : 'Authentication failed.' on server 192.168.1.10:27010 . The full response is { "ok" : 0.0, "code" : 18, "errmsg" : "Authentication failed." }}}] If you start looking the error content First you encounter with Timeout Exception which may mislead you. It is basically an authentication error. I